条件によっては行を返さないサブクエリをCROSS JOINしたい
[テーブル:Person]
name
---
Sato
Suzuki
Takahashi
みたいなテーブルがあったとして、ここから異なる条件にマッチするフィールドを横に並べて表示するために、CROSS JOINするとします。
SELECT A.name B.name
FROM ( SELECT name FROM Person WHERE name = 'Sato' ) A,
( SELECT name FROM Person WHERE name = 'Takahashi' ) B;
[結果]
name | name
Sato | Takahashi
このときサブクエリで行が返ってくればいいのですが、WHERE句で引っかからない場合はCROSS JOINで何も返ってこなくなります。
SELECT A.name B.name
FROM ( SELECT name FROM Person WHERE name = 'Hoge' ) A,
( SELECT name FROM Person WHERE name = 'Takahashi' ) B;
[結果]
name | name
こちらが望む結果としては↑のような場合に
[結果]
name | name
null | Takahashi
となって欲しいのですが、なにかいい方法ありませんでしょうか?
よろしくお願いします。