我有两张桌子:
表1(含英文内容):
id (primary key, auto increment)
title
text
...
表2(含有葡萄牙语内容):
id (foreing Key to table 1 ID)
title
text
…
目录示例:
表1(含英文内容):
id: 4
title: Hello World!
text: hello world, i need you!
… : anothers fields
表2(含有葡萄牙语内容):
id: 4
title: Ola mundo
text: NULL
…: another fields with NULL values OR portuguese contents
完美的结果:
结果:
id: 4
title: Ola mundo
text: hello world, i need you!
…: another fields with english content with NULL values in portuguese table OR portuguese content if is not null values
这个问题和结果是一样的:stackoverflow,但我不知道哪些字段是NULL以及表中有多少字段。我知道替代表(葡萄牙语)具有相同的列名。 我需要像COALESCE(table1。*,table2。*)这样的东西,但这不起作用。
SELECT COALESCE(table1.*, table2.*) FROM table1 LEFT JOIN table2 USING(id) WHERE id = 4;
但在表2中,可能没有记录ID“4”......
我怎样才能得到这个结果?
由于
答案 0 :(得分:0)
列名应单独合并
SELECT a.id,COALESCE(b.title, a.title) Title,COALESCE(b.text, a.text) Text
FROM Table1 a LEFT JOIN Table2 b
ON a.id = b.id