Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一两条SQL case语句_Sql_Case - Fatal编程技术网

一两条SQL case语句

一两条SQL case语句,sql,case,Sql,Case,我有一个SELECT语句,用于提取这两个不同的产品条。当我从网站上删除其中一个并重新运行我的语句时,我仍然有两行,第一列有ARMCODE两次(两个结果),第二列有第一列的说明,但第二列没有说明(因为它已被删除) 问题是它仍然在SQL studio中使用ARMCODE显示两个结果 如果有一个a.code,a.strips从需要显示的入口,如果有一个a.ARMCODE和B.DESCRIPTION需要显示。如果只有A.ARMCODE和B.DESCRIPTION而另一个已被删除,为什么它仍然显示两个结果

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

问题是它仍然在SQL studio中使用
ARMCODE
显示两个结果

如果有一个
a.code
a.strips
从需要显示的入口,如果有一个
a.ARMCODE
B.DESCRIPTION
需要显示。如果只有
A.ARMCODE
B.DESCRIPTION
而另一个已被删除,为什么它仍然显示两个结果,其中
A.code\u
是第二个结果,而空的A

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
我没有得到任何行或列,它返回(没有列名)并且内部为空

希望不要太混乱。提前谢谢

图1同一患者的两种不同产品的条带和说明

图像2当我删除条带时,仍然显示两个结果且描述为空,不应显示第二个结果


图3案例陈述

仅供参考,以便结束此问题。我用凝聚来决定我需要什么

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
合并(Transact-SQL)

如果b.armcode为空,则a.strips ELSE(某物)endStrips和Description在两个不同的表中是相同的。如果患者有一个条形产品和说明,则应同时显示或全部显示(无论有多少),如果患者只有条形产品,则不应仅显示患者id和条形图。我已经阅读了您的问题两次,但不太明白。你能用示例数据澄清一下吗,或者看看你是否能在上面重现它?我将发布返回数据的图片,感谢你跟我一起关注。更新,如果有多个,则显示全部,或者如果只有一个表填充了数据,则仅显示一个或另一个。也许我应该使用isnull语句?我想一个案例陈述可能会更好。如果一开始这个问题让人困惑,我很抱歉。