如何将同一张表中的两行合并为一行以避免空字段?例如,如果我有以下两行:
id col1 col2 col3
1 12 null 13
2 56 74 89
我想得到结果:
1 12 74 13
换句话说,我想要id = 1的行中的值,但是如果它具有null
值,我想用id = =的行中的相应值替换那些null
2.我猜另一个约束是该表中的列数很大,因此我要避免列出各个列。 MySQL完全有可能吗?
答案 0 :(得分:2)
您可以使用left join
:
select coalesce(t.col1, t2.col1) as col1,
coalesce(t.col2, t2.col2) as col2,
coalesce(t.col3, t2.col3) as col3
from t left join
t t2
on t2.id = 2
where t.id = 1