这个错在哪里 请问

huhu454 2012-08-02 09:35:52
select
k.patient_id,k.visit_id,k.treat_result
l.patient_id,l.visit_id,l.dept_discharge_from,l.inp_no,l.doctor_in_charge,l.attending_doctor
m.patient_id,m.visit_id
n.dept_code,n.patient_id,n.visit_id
o.dept_code
from
(select distinct c.*
from (select b.patient_id,b.visit_id,b.TREAT_RESULT from diagnosis a join diagnosis b on (a.patient_id=b.patient_id and a.visit_id=b.visit_id)
where a.TREAT_RESULT='死亡')c)k
left join pat_visit l on (k.patient_id=l.patient_id and k.visit_d=l.visit_id)
left join pat_master_index m on (k.patient_id=m.patient_id and k.visit_id=m.visit_id)

left join mr_on_line n on (k.patient_id=n.patient_id and k.visit_d=n.visit_id)
...全文
66 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2012-08-03
  • 打赏
  • 举报
回复
别名表 k可改改,不需要再嵌套
select
k.patient_id,k.visit_id,k.treat_result,
l.patient_id,l.visit_id,l.dept_discharge_from,l.inp_no,l.doctor_in_charge,l.attending_doctor,
m.patient_id,m.visit_id,
n.dept_code,n.patient_id,n.visit_id,
o.dept_code
from
(select DISTINCT
b.patient_id,b.visit_id,b.TREAT_RESULT from diagnosis a join diagnosis b on a.patient_id=b.patient_id and a.visit_id=b.visit_id
where a.TREAT_RESULT='死亡'
)k
left join pat_visit l on k.patient_id=l.patient_id and k.visit_d=l.visit_id
left join pat_master_index m on k.patient_id=m.patient_id and k.visit_id=m.visit_id
left join mr_on_line n on k.patient_id=n.patient_id and k.visit_d=n.visit_id
huhu454 2012-08-03
  • 打赏
  • 举报
回复
谢谢啊 太感谢了
以学习为目的 2012-08-02
  • 打赏
  • 举报
回复

--第三方软件 格式化代码
select k.patient_id ,
k.visit_id ,
k.treat_result ,-- '逗号不能少'
l.patient_id ,
l.visit_id ,
l.dept_discharge_from ,
l.inp_no ,
l.doctor_in_charge ,
l.attending_doctor ,
m.patient_id ,
m.visit_id ,
n.dept_code ,
n.patient_id ,
n.visit_id ,
o.dept_code
from ( select distinct
c.*
from ( select b.patient_id ,
b.visit_id ,
b.TREAT_RESULT
from diagnosis a
inner join diagnosis b on ( a.patient_id = b.patient_id
and a.visit_id = b.visit_id
)
where a.TREAT_RESULT = '死亡'
) c
) k
left join pat_visit l on ( k.patient_id = l.patient_id
and k.visit_d = l.visit_id
)
left join pat_master_index m on ( k.patient_id = m.patient_id
and k.visit_id = m.visit_id
)
left join mr_on_line n on ( k.patient_id = n.patient_id
and k.visit_d = n.visit_id
)

sxssg 2012-08-02
  • 打赏
  • 举报
回复
看到都脑袋痛
筱筱澄 2012-08-02
  • 打赏
  • 举报
回复
少加了几个逗号


SELECT  k.patient_id, k.visit_id, k.treat_result, l.patient_id, l.visit_id, l.dept_discharge_from, l.inp_no, l.doctor_in_charge, l.attending_doctor,
m.patient_id, m.visit_id, n.dept_code, n.patient_id, n.visit_id, o.dept_code
FROM (
SELECT DISTINCT
c.*
FROM (
SELECT b.patient_id ,
b.visit_id ,
b.TREAT_RESULT
FROM diagnosis a
JOIN diagnosis b
ON (
a.patient_id = b.patient_id
AND a.visit_id = b.visit_id
)
WHERE a.TREAT_RESULT = '死亡'
) c
) k
LEFT JOIN pat_visit l
ON (
k.patient_id = l.patient_id
AND k.visit_d = l.visit_id
)
LEFT JOIN pat_master_index m
ON (
k.patient_id = m.patient_id
AND k.visit_id = m.visit_id
)
LEFT JOIN mr_on_line n
ON (
k.patient_id = n.patient_id
AND k.visit_d = n.visit_id
)
天-笑 2012-08-02
  • 打赏
  • 举报
回复

--帮你整理了下代码 试试
select k.patient_id ,
k.visit_id ,
k.treat_result ,
l.patient_id ,
l.visit_id ,
l.dept_discharge_from ,
l.inp_no ,
l.doctor_in_charge ,
l.attending_doctor ,
m.patient_id ,
m.visit_id ,
n.dept_code ,
n.patient_id ,
n.visit_id ,
o.dept_code
from ( select distinct
c.*
from ( select b.patient_id ,
b.visit_id ,
b.TREAT_RESULT
from diagnosis a
inner join diagnosis b on ( a.patient_id = b.patient_id
and a.visit_id = b.visit_id
)
where a.TREAT_RESULT = '死亡'
) c
) k
left join pat_visit l on ( k.patient_id = l.patient_id
and k.visit_d = l.visit_id
)
left join pat_master_index m on ( k.patient_id = m.patient_id
and k.visit_id = m.visit_id
)
left join mr_on_line n on ( k.patient_id = n.patient_id
and k.visit_d = n.visit_id
)

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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