我有两个表,它们共享几列。我想加入他们,并合并字段。
我想查询它们,并将它们合并为一行 - 使用最新数据,基于created
字段
示例:
table1 [id, created, name, title, file, delete]
table2 [id, created, name, title, old, active]
# result
[id, created, name, title, file, delete, old, active]
怎么做?
答案 0 :(得分:0)
这是您正在寻找的查询(考虑到两个表之间的两个ID都相同):
SELECT T1.id
,T1.created
,T1.name
,T1.title
,T1.file
,T1.delete
,T2.old
,T2.active
FROM table1 T1
INNER JOIN (SELECT TL.id
,MAX(TL.created) AS created
FROM table1 TL
GROUP BY TL.id) T ON T.id = T1.id
AND T.created = T1.created
INNER JOIN table2 T2 ON T2.id = T1.id
AND T2.created = T1.created
第一个INNER JOIN
用于仅保留每个id
的最新事件(使用GROUP BY
子句和MAX
函数)。
希望这会有所帮助。
答案 1 :(得分:-1)
SELECT a.id, a.created, a.name, a.title, a.file, a.delete, b.old, b.active
FROM table1 a,
table2 b
WHERE a.id = b.id