0

以下は、この問題を解決する方法を知っている私の質問です。

クエリの例:

SELECT id, table2.id as global_id, table3.id as global_id 
FROM table1 
LEFT JOIN table2 
  ON ( table1.id = table2.tab1_id ) 
LEFT JOIN table3 
  ON ( table1.id = table3.tab1_id ) 
WHERE etc etc

基本的に、selectステートメントに「global_id」列を2回書きたくありません。また、一部の行にはid = NULLがあります

ここに作業クエリを書いてください。global_id 列のすべての行の id 値を取得するにはどうすればよいですか?

ありがとう

4

2 に答える 2

0

使用COALESCE:

SELECT table1.id, COALESCE(table2.id, table3.id) as global_id 
FROM table1 
LEFT JOIN table2 
  ON ( table1.id = table2.tab1_id ) 
LEFT JOIN table3 
  ON ( table1.id = table3.tab1_id ) 
WHERE etc etc
于 2013-05-16T08:58:59.013 に答える