2011-09-30 27 views
5

名前、ID、および別のテーブルのIDを参照する外部キーを含む、いくつかの値を持つテーブル設定があるとします。名前はnullでもかまいません。このテーブルからすべてのレコードを選択すると、nullでない場合はその名前を取得します。そうであれば、私は外部キーによって参照されるレコードの名前を取得したいと思います。必要に応じてデータベース構造を変更することができます。あるいは単にクエリを変更することもできます。私の選択肢は何ですか?MySQL - カラムがNULLの場合に別のテーブルから値を取得する

答えて

13

使用IFNULLまたはCOALESCE

SELECT T1.ID, IFNULL(T1.name, T2.name) AS name 
FROM firsttable T1 
LEFT JOIN secondtable T2 
ON T1.T2_id = T2.id 
+0

のために私たちはwinnarを持っています!ありがとう! – Fibericon

1

使用ISNULLsql

SELECT T1.ID, ISNULL(T1.name, T2.name) AS name 
FROM firsttable T1 
LEFT JOIN secondtable T2 
ON T1.T2_id = T2.id 
関連する問題