我有两个表:
表A
ID | DATE | VALUE | KEY|
1 30.8.14 100 11
2 25.8.14 500 11
2 20.8.14 250 11
表B
ID | DATE | VALUE | KEY|
1 30.8.14 AB 11
2 25.8.14 CD 11
3 10.8.14 EF 11
这两个表要合并,key用来定义哪些条目要合并WHERE KEY = '11'
如果表 A 中有一个日期也存在于表 B 中,则它在输入时具有两个值 如果表 A 中没有日期也在表 B 中,则 B 的值变为 (null) 最后,应该只有 1 个日期字段。 列也应该是一个唯一的名称..
我创建了这个示例表,我的输出应该是这样的
joinedDate | aValue | bValue
30.8.14 100 AB
25.8.14 500 CD
20.8.14 250 (null)
10.8.14 (null) EF
我在 Maria DB 上使用 MySQL 5.5 版
有人可以帮我吗?
最佳答案
您似乎想要 full outer join
,而 MySQL 不提供。这是一种方法:
select d.date, a.value as avalue, b.value as bvalue
from ((select date from a union
select date from b
)
) d left join
a
on a.date = d.date left join
b
on b.date = d.date;
关于MySQL连接2个表并联合一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25584337/