菜鸟求助,关于联合主键如何批量查询?

mamushichen 2015-08-23 03:06:26
我有一个表,表有两个主键组合而成。比如一个病人的病案号为123456,这个病人会一直使用此病案号,只是住医院次数往后累加。这时候表主键就会是123456,1 123456,2 123456,3 123456,4等等。我现在想批量查询出指定住院号下的指定住院次,一个主键好说用in就行,但联合主键该如何查询?求解惑.....................
补充:条件的来源并不是一个表,而是从文件导入进来的一组数据。
...全文
1105 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluelight4587 2016-01-05
  • 打赏
  • 举报
回复
联合主键,就是连在一起也是具有唯一性的,所以,把几个联合主键拼成的字符串是可以作为唯一键使用的。 例如: A列和B列是联合主键列,在使用in查询时就可以这样查 select * from table where A+B in (select top(1) A+B from table) 明白了吗?
Tiger_Zhao 2015-08-24
  • 打赏
  • 举报
回复
你把文件数据导入一个临时表#T(病案号,住院次数),查询
SELECT a.*
FROM 住院表 a
JOIN #T
ON #T.病案号 = a.病案号
AND #t.住院次数 = a.住院次数
木易随风 2015-08-24
  • 打赏
  • 举报
回复
是这个意思吗? 病人信息表里有住院号和住院次数,病人费用表里有住院号和住院次数, 现在想把两个表关联起来查询 可以使用 SELECT * FROM 病人信息表 A LEFT JOIN 病人费用表 B ON A.住院号=B.住院号 AND A.住院次数=B.住院次数
gw6328 2015-08-24
  • 打赏
  • 举报
回复
join可以办到。 你传入 100,2 ,100,1 ,234,4 select a.* from tb a join @t b on a.id1=b.id and a.id2=b.id2
misterliwei 2015-08-23
  • 打赏
  • 举报
回复
引用 4 楼 mamushichen 的回复:
[quote=引用 3 楼 misterliwei 的回复:] 指定住院号几次?比如123456几次?
病案号相同,住院次不同,病案号+住院次为联合主键。一个病人的住院号是统一的,但住院次会有多次。 加入从一个Excel中读取出一批住院号+住院次的信息。因为是联合主键,如何查询?是不是只能通过代码 一个一个查询在合成一张表还是一条SQL语句就能搞定?[/quote] 不好意思,实在不能理解。住院号 是不是 就是 病案号啊? 还有举几个数值,然后想到得到什么结果,列一下!这样便于理解!
mamushichen 2015-08-23
  • 打赏
  • 举报
回复
引用 3 楼 misterliwei 的回复:
指定住院号几次?比如123456几次?
病案号相同,住院次不同,病案号+住院次为联合主键。一个病人的住院号是统一的,但住院次会有多次。 加入从一个Excel中读取出一批住院号+住院次的信息。因为是联合主键,如何查询?是不是只能通过代码 一个一个查询在合成一张表还是一条SQL语句就能搞定?
misterliwei 2015-08-23
  • 打赏
  • 举报
回复
指定住院号几次?比如123456几次?
mamushichen 2015-08-23
  • 打赏
  • 举报
回复
来人啊 啊啊啊啊,SOSOSOSOSOSOS
mamushichen 2015-08-23
  • 打赏
  • 举报
回复
就没有人帮忙告知一下吗、??????

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧