我有 2 张桌子:
Table1:
ID | Mobile Number | Name | Ordered Product| Order Date
Table2:
ID(foreign_key can be inserted multipletimes in this table) |Contacted_for | Time(timestamp)
我需要一个查询来显示表1中的所有数据,如果表2中存在该ID,我需要显示该ID在表2上最后插入的记录(带时间)
我的查询是
select a.* , b.* FROM table1 a LEFT JOIN table2 b ON a.ID=b.ID GROUP BY a.ID ORDER BY b.Time DESC
在我的查询中,当我删除 Group By a.ID 时,它可以工作,但会显示所有结果。但我只想显示表2的最终记录(没有重复的ID记录)
提前致谢
为此,您需要一些子查询:
SELECT
a.*, b.*
FROM
table1 a
LEFT JOIN
(SELECT c.id, d.contacted_for, c.time
FROM
(SELECT
id,
MAX(time) time
FROM
table2
GROUP BY id
) c
JOIN
table2 d
ON c.id = d.id AND d.time = c.time
) b
ON a.id = b.id
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)