以下は、結合を使用してレコードが返されない場合の戻りNULL値のSQL問合せです。結合を使用してレコードが見つからない場合はNULL値を返します。
マイクエリ:
SELECT
ISNULL((SELECT SR_No
FROM Product
WHERE SR_No in ('8877','9911')), NULL)
は基本的に私はSR_No
がProduct
テーブルで利用可能であるかどうかを確認する必要があります。
:
表 - > Item_M:
+-------+---------+
| SR_No | Asso_Id |
+-------+---------+
| 4455 | 100 |
| 4455 | 200 |
| 4455 | 300 |
| 8877 | 500 |
| 9911 | 600 |
+-------+---------+
卓上>製品:
| SR_No | Pro_N | Pro_Sc |
+-------+-------+--------+
| 4455 | SA | S |
| 8877 | BT | B |
| |
+-------+-------+--------+
の予想される出力を:
+-------+-------+--------+
| SR_No | Pro_N | Pro_Sc |
+-------+-------+--------+
| 8877 | BT | B |
| NULL | NULL | NULL |
+-------+-------+--------+
私は結果の背後にある論理を理解していません。なぜヌルの行があるはずですか?参加はどこですか? –
@SamKuhmonen:どうすればここに参加することができますか、基本的に私はProduct Tableで利用可能な "SR_No"をチェックする必要があります –
私はまだそれを取得しません - 8877と9911の両方にProductと 'Item_M'テーブルの行があります。また、あなたが 'WHERE'に10個の製品をリストし、誰も '修飾していない'場合は、10行のNULLが必要ですか、少なくとも' SR_No 'をリストしたいですか? 私は思っています*これはあなたの後です - http://sqlfiddle.com/#!6/51f2c/2 – StuartLC