-1

我有一个SELECT声明可以拉出这两个不同的产品条。当我从网站上删除其中一个并重新运行我的语句时,我仍然有两行,第一列有ARMCODE两次(两个结果),第二列有第一列的描述,但第二列没有描述(因为它有已被删除)。

问题是它仍然在带有ARMCODE.

如果有 a a.CODE_a.strips则需要显示,如果有 a A.ARMCODEB.DESCRIPTION则需要显示。如果只有A.ARMCODEandB.DESCRIPTION和另一个已被删除,为什么它仍然显示两个结果,a.CODE_即第二个结果和一个空的 a.strips。

select a.ARMCODE,
       b.DESCRIPTION_
  from ARE.AAS.REORDER a
  left outer join ARE.AAS.PTDME b on a.PTCODE=b.CODE_
 where a.ARMCODE = 'ADSMANZS03'
   and b.MEDICAREID ='A4253'

union all

select a.CODE_,a.strips
  from event.dbo.intake a 
 where a.CODE_ = 'ADSMANZS03'

条带和描述,两种不同的产品,同一个患者

当我删除条带时,仍然显示两个带有空描述的结果

我的案例陈述什么也没返回

我开始使用 case 的新语句,现在正在使用一些嵌套连接:

select case when b.ARMCODE is null then a.strips
       end
  from (select *
          from ev.dbo.intake a
         where a.CODE_ = 'ADSMANZS03') a
left outer join(select a.ARMCODE,
                       b.DESCRIPTION_
                  from ARE.AAS.REORDER a
                  left outer join ARE.AAS.PTDME b on a.PTCODE=b.CODE_
                 where a.ARMCODE = 'ADSMANZS03'
                   and b.MEDICAREID ='A4253') b on a.CODE_=b.ARMCODE

我没有得到任何行或列,它正在返回(没有列名)并且在 NULL 内

希望这不会太混乱。提前致谢。

图片 1条带和描述,两种不同的产品,同一患者

IMAGE 2当我删除条带时,仍然显示两个带有空描述的结果,不应该显示第二个结果。

图 3案例陈述

4

1 回答 1

0

仅供参考,因此可以关闭这个问题。我使用合并来确定我需要什么。

select
coalesce(b.DESCRIPTION_,a.strips)
from(
select
*
from ev.dbo.intake a
where a.CODE_ = 'ADSMANZS03'
)a
left outer join(
select
a.ARMCODE,
b.DESCRIPTION_
from ARE.AAS.REORDER a
left outer join ARE.AAS.PTDME b on a.PTCODE=b.CODE_
where a.ARMCODE = 'ADSMANZS03'
and b.MEDICAREID ='A4253'
)b on a.CODE_=b.ARMCODE

COALESCE (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms190349.aspx

于 2013-04-23T22:25:46.367 回答