申し訳ありませんが、これは少し頭痛の種です。例から始めましょう:
テーブル:
TownCountry
Record | Town | CountryCode
-------+--------+-------------
1 | London | A1
2 | Cardiff| A2
3 | Hull | A1
4 | Luton | A1
ReFData
Type | Code | Country
--------+---------+-------------
Country | A1 | England
Country | A2 | Wales
私のクエリが次の場合:
select a.Town, b.Country from TownCountry a, RefData b, TownCountry c
where a.Record=1
and b.Code=c.CountryCode and c.Record=2
私は得る:
London | Wales
ただし、ウェールズのコードをA3に変更し、クエリを同じままにすると、結果として行が返されません。
ウェールズがA3である例で私が欲しいのは、私の結果が次のようになることです。
London | (empty)
COALESCEを試しました:
select a.Town, COALESCE(b.Country,'empty') from TownCountry a, RefData b, TownCountry c
where a.Record=1
and b.Code=c.CountryCode and c.Record=2
しかし、これは行を返しませんでした
大文字と小文字の選択、右結合と左結合も試しましたが、行がありません。
これは、私の親友が話し合っているときに私にくれた簡単な例です。
町
Record | Town
-------+--------
1 | London
2 | Cardiff
4 | Luton
select a.Town, b.Town, c.town, d.Town
from Towns a, Towns b, Towns c, Towns d
where a.Reocrd=1 and b.Reocrd=2 and c.Reocrd=3 and a.Reocrd=4
帰りたい
a.Town | b.Town | c.Town | d.Town
-------+--------+--------+--------
London | Cardiff| NULL | Luton
どんな助けでも大歓迎です。