我有一个SELECT
语句来拉取这两个不同的产品条。当我从网站上删除其中一个并重新运行我的陈述时,我仍然有两行,第一列有两次(两次结果),第二列有第一次的描述,但第二次没有描述(因为它已被删除)。一个或两个SQL case语句
问题是它仍然在SQL Studio中显示两个结果,其中ARMCODE
。
如果有a.CODE_
,a.strips
从进气它需要显示,如果有一个A.ARMCODE
和B.DESCRIPTION
它需要显示。如果只有A.ARMCODE
和B.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'
我开始使用情况下,一个新的语句,我现在使用一些嵌套的联接:
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
我没有变任何行或列a nd它返回(没有列名称),并在NULL
希望不是太混乱。提前致谢。
IMAGE 1条和描述,两种不同的产品,同一患者
IMAGE 2当我删除条,仍然示出了两个结果与空的描述中,不应该显示的第二结果。
IMAGE 3 case语句
话,那么a.strips ELSE(别的)结束 – criticalfix 2013-04-23 19:30:29
条和描述都只是在两个不同的表同样的事情。如果患者有条状和描述的产品,它应该显示两者或全部(无论有多少),如果他们只有带状产品而不是只显示患者ID和条状。 – 2013-04-23 19:35:31
我已经读过两次你的问题,但不太明白。你能否用示例数据来澄清一下,或者看看你能否在[SQL Fiddle](http://sqlfiddle.com/)上重现它? – Andomar 2013-04-23 19:52:12