問題を解決しました... 2 番目のコードを参照してください
これは、異なるテーブルの 2 行のシリアル番号を比較する SQL ステートメントです。一致する場合は「はい」が表示されますが、一致しない場合は「いいえ」が表示されます。これは、異なるテーブルで 2 つの異なる理由で 2 回行われます。
SELECT table1.serial1, table1.serial2,
CASE WHEN table2.serial1 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol1],
CASE WHEN table3.serial2 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol2]
FROM table1
LEFT JOIN table2
ON table2.serial1 = table1.serial1
LEFT JOIN dbo.EPG
ON table3.serial2 = table1.serial2
私がやりたいことは、最初または2番目の列がはいの場合、行にはいを配置する別の列を作成することです。それ以外の場合は、いいえを表示します。計算された列を比較できないことに気付いたので、私が探していたのは、式を繰り返して or ステートメントを運がないことでした。私は基本的なSQL以外のものを書いた経験があまりありません...これはmtyの試みです:
SELECT DISTINCT table1.serial1, table1.serial2,
CASE WHEN table2.serial1 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol1],
CASE WHEN table3.serial2 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol2],
CASE WHEN table3.serial2 IS NULL OR table2.serial1 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol2]
FROM table1
LEFT JOIN table2
ON table2.serial1 = table1.serial1
LEFT JOIN dbo.EPG
table3.serial2 = table1.serial2