SQL Server 2008 に 2 つのテーブルがあり、JOIN
すべての値を取得したいのですが、NULL レコードのフィールドが必要な場合でも、レコードが存在する値しか取得できません。
tableA
これがどのように見えるかの例です
|IPAddress |DNSRecord|
|192.168.1.1|Test |
|192.168.0.1|Test1 |
tableB
次のレコードを保存します
|NetworkAddress|SerialNo |
|192.168.1.1 |1Z5A789DS|
|192.168.0.1 |NULL |
必要なフィールドを返すクエリは次のとおりです
SELECT
t1.IPAddress,
t1.DNSRecord,
t2.SerialNo,
t2.IPAddress
FROM tableA t1
JOIN tableB t2 ON t1.IPAddress = t2.NetworkAddress
WHERE
IPAddress LIKE '%' +@IPAddress + '%'
AND SerialNo LIKE '%' +@SerialNo +'%'
このクエリの問題は、次の結果が得られることです
|IPAddress |DNSRecord|SerialNo |
|192.168.1.1|Test |1Z5A789DS|
そして、代わりに次の結果を返したいと思います
|IPAddress |DNSRecord|SerialNo |
|192.168.1.1|Test |1Z5A789DS|
|192.168.0.1|Test1 |NULL |