我有两张桌子
guid | id | Name
-------+------+----------
1 | 123 | John
2 | 456 | Mac
3 | 789 | Paul
另一张表是
id. | modified date
------+----------------
1 | 26-08-2017
1 | 27-08-2017
1 | 01-09-2017
1 | 02-09-2017
2 | 26-08-2017
2 | 01-09-2017
2 | 02-09-2017
3 | 01-09-2017
3 | 02-09-2017
3 | 03-09-2017
每次第一个表中的名称更改每个ID时,它也会修改第二个表中的日期。喜欢id 1的名字改了4次。
我希望通过加入01-09-2017
之后首次修改的表来获取所有这些ID。如果id在9月1日之前甚至有一个值,那么该值就不应该出现。
根据我们的表格,只有id 3通过条件,因为id 1和2在9月1日之前被修改(id 1有2个值,id 2在9月1日之前有2个值,因此两个都失败了)。
任何帮助?
答案 0 :(得分:0)
SELECT
t1.*, t2.*
FROM
table1 t1
JOIN table2 t2 ON
t1.guid = t2.id
GROUP BY
t1.guid
HAVING MIN(t2.modifieddate ) > '01-09-2017'