问个sql语句

l9830216 2009-12-02 05:51:58
tab1 存放对病人的收费单项

blh(病历号) ypid(药品id)
0001 1234
0001 1235
0002 3422

tab2 存放服务项目对应的药品

ypid fwxm
,1234,1235, 手术
,3422, 感冒



问病人0001在手术中用多少次药品
select count(*) from tab1 where blh='0001' and ypid in
写到这里不会写了,因为tab2的ypid中可能包含多个数据
...全文
64 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangjunbin 2009-12-02
  • 打赏
  • 举报
回复
如果TYPEID都是4位数的话,应该可以select count(*) from tab2 where typeid like '%'+(select typeid from tab1 where blh=0001)+'%' 看看行不行
ck11926375 2009-12-02
  • 打赏
  • 举报
回复
问病人0001在手术中用多少次药品 ????

select count(*) from tab1 where blh='0001'
这个不就完了嘛?


l9830216 2009-12-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jiangshun 的回复:]
tab1 存放对病人的收费单项

blh(病历号) ypid(药品id)
0001          1234
0001          1235
0002          3422

既然table1中有了收费单,里面存放的有药品id了,还要table2有价值吗?无非就是确认一下对病人是什么操作
还有,有可能不同的病人使用的药品一样,跟table2中怎么关联

表设计的。。。。。
[/Quote]
主要是tab2对方是可以维护的,先看看1楼
jiangshun 2009-12-02
  • 打赏
  • 举报
回复
tab1 存放对病人的收费单项

blh(病历号) ypid(药品id)
0001 1234
0001 1235
0002 3422


既然table1中有了收费单,里面存放的有药品id了,还要table2有价值吗?无非就是确认一下对病人是什么操作
还有,有可能不同的病人使用的药品一样,跟table2中怎么关联

表设计的。。。。。
jiangshun 2009-12-02
  • 打赏
  • 举报
回复
数据库设计的有问题
Lovely_baby 2009-12-02
  • 打赏
  • 举报
回复
declare @s varchar(100)
set @s=',1234,1235,'
select col1=parsename(replace(@s,',','.'),3),col2=parsename(replace(@s,',','.'),2),col3=parsename(replace(@s,',','.'),1)

先将tab2 中的 ypid 分割
然后在嵌套


62,263

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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