C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■98137 / 12階層)  SQLの結合について
□投稿者/ 魔界の仮面弁士 (3186回)-(2021/09/22(Wed) 17:27:05)
No98135 (魔界の仮面弁士) に追記
> ■No98134 (鏡月 さん) に返信
>>指図IDをキーに検索し実績作業内容と現在のマスタ内の作業内容の差異について比較したいと考えております。
>>下記データのような値を出力することは可能でしょうか。
> FULL JOIN にもかかわらず、抽出結果から 品番 = '2222' が消える理由を説明してください。

とりあえず、「指図ID = 'A' に該当した品番のみを対象とする」という条件にしてみました。
前提条件が不足しているので、やりたいことに合致しているかは分かりませんが。


WITH
  過去 AS (SELECT 指図ID, 品番, 作業ID, 作業内容 FROM 実績 WHERE 指図ID = 'A')
, 現在 AS (SELECT 品番, 作業ID, 作業内容 FROM マスタ
WHERE EXISTS(SELECT null FROM 過去 WHERE 過去.品番 = マスタ.品番))
SELECT
 過去.指図ID
,COALESCE(過去.品番,現在.品番) AS 品番
,過去.作業ID   AS 過去作業ID
,過去.作業内容 AS 過去作業内容
,現在.作業ID   AS 現在作業ID
,現在.作業内容 AS 現在作業内容
FROM 過去 FULL OUTER JOIN 現在
  ON 過去.品番 = 現在.品番 AND 過去.作業ID = 現在.作業ID
ORDER BY
 COALESCE(過去.品番,現在.品番)  
,COALESCE(過去.作業ID,現在.作業ID)

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[11]: SQLの結合について /魔界の仮面弁士 →Re[13]: SQLの結合について /鏡月
 
上記関連ツリー

SQLの結合について / 鏡月 (21/09/22(Wed) 11:18) #98123
Re[1]: SQLの結合について / 魔界の仮面弁士 (21/09/22(Wed) 11:46) #98124
  └ Re[2]: SQLの結合について / 鏡月 (21/09/22(Wed) 13:04) #98125
    └ Re[3]: SQLの結合について / 魔界の仮面弁士 (21/09/22(Wed) 13:24) #98126
      └ Re[4]: SQLの結合について / 鏡月 (21/09/22(Wed) 13:32) #98127
        └ Re[5]: SQLの結合について / 魔界の仮面弁士 (21/09/22(Wed) 14:07) #98129
          └ Re[6]: SQLの結合について / 鏡月 (21/09/22(Wed) 14:10) #98130
            └ Re[7]: SQLの結合について / 魔界の仮面弁士 (21/09/22(Wed) 14:52) #98131
              └ Re[8]: SQLの結合について / 鏡月 (21/09/22(Wed) 15:06) #98132
                └ Re[9]: SQLの結合について / 魔界の仮面弁士 (21/09/22(Wed) 16:15) #98133
                  └ Re[10]: SQLの結合について / 鏡月 (21/09/22(Wed) 16:25) #98134
                    └ Re[11]: SQLの結合について / 魔界の仮面弁士 (21/09/22(Wed) 17:14) #98135
                      └ SQLの結合について / 魔界の仮面弁士 (21/09/22(Wed) 17:27) #98137 ←Now
                        └ Re[13]: SQLの結合について / 鏡月 (21/09/22(Wed) 20:34) #98138 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信