SQL Serverで作業しています。私は3つのテーブルTableA
,TableB
とTableMain
を持っていて、Date
,StartTime
とFinishTime
というカラムを持っています。SQL Serverの結合テーブルからデータを優先的に取得する方法
これらの3つの列の値を取得するSQL文をTableMain
から作成する必要があります。同じ日付がTableA
に存在する場合、StartTime
の値がそれから来るはずです。それ以外の場合はTableMain
の値を使用してください。同様に、FinishTime
がTableB
に存在する場合、最終出力ではその値をTableMain
に置き換える必要があります。
私はこれらの3つのテーブルを結合することでやりたいと思います。次の表は、これらの3つのテーブルのデータと最終的に期待されるクエリ出力を示しています。
テーブルA:
Date StartTime
10/14/2016 11:00 AM
10/16/2016 10:00 AM
10/18/2016 11:30 AM
テーブルB:
Date FinishTime
10/15/2016 3:00 PM
10/16/2016 4:00 PM
10/17/2016 6:30 PM
10/18/2016 5:00 PM
TableMain:
Date StartTime FinishTime
10/14/2016 8:00 AM 10:00 PM
10/15/2016 8:00 AM 10:00 PM
10/16/2016 8:00 AM 10:00 PM
10/17/2016 8:00 AM 10:00 PM
10/18/2016 8:00 AM 10:00 PM
所望の出力:
10/14/2016 11:00 AM 10:00 PM
10/15/2016 8:00 AM 3:00 PM
10/16/2016 10:00 AM 4:00 PM
10/17/2016 8:00 AM 6:30 PM
10/18/2016 11:30 AM 5:00 PM
左結合と派生テーブルの結果が必要です。下の私の答えを見てください。 – JonH
sqlタグで質問を更新して編集する人がいれば最高ですmarc_s thanks @marc_s – JonH
@JonH:aw、ありがとう、Jon! –