-1

SELECTこれら 2 つの異なる製品ストリップを引っ張るステートメントがあります。それらの 1 つを Web サイトから削除してステートメントを再実行すると、まだ 2 つの行があり、最初の列にはARMCODE2 回 (2 つの結果) があり、2 番目の列には最初の説明がありますが、2 番目の列には説明がありません (削除されました)。

問題は、SQL Studio でARMCODE.

がある場合は、a.CODE_インテークa.stripsから表示する必要があり、ある場合は表示するA.ARMCODE必要がありB.DESCRIPTIONます。andのみがA.ARMCODEあり、もう一方が削除されている場合、2 番目の結果と空の a.strips の 2 B.DESCRIPTIONつの結果がまだ表示されているのはなぜですか。a.CODE_

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'

ストリップと説明、2 つの異なる製品、同じ患者

ストリップを削除しても、説明が空の 2 つの結果が引き続き表示される

何も返さない私のケースステートメント

ケースを使用して新しいステートメントを開始し、ネストされた結合をいくつか使用しています。

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 内にあります

あまり混乱しないことを願っています。前もって感謝します。

IMAGE 1ストリップと説明、2 つの異なる製品、同じ患者

IMAGE 2ストリップを削除すると、説明が空の 2 つの結果が引き続き表示されますが、2 つ目の結果は表示されません。

IMAGE 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 に答える