我有一个嵌套查询的问题(这个问题我不知道该怎么做)我正在使用 PostgreSQL
我有 2 张桌子:
users
id name
1 x
2 y
3 z
call
id user_id time data
1 1 00:10 stat1
2 1 00:15 stat2
3 3 00:10 stat2
4 3 00:30 stat1
5 3 00:45 stat2
6 3 00:50 stat3
我需要得到的是一组用户,但前提是他们的最后一次调用是 stat2。我遇到的问题是我不知道如何只检查最新的数据。
我的查询:
SELECT users.*, call.* FROM users, call WHERE users.id=call.user_id AND call.id IN (SELECT id FROM call WHERE call.data='stat2') ORDER BY users.id
我得到的是:
users
id name id user_id time data
1 x 2 1 00:15 stat2
3 z 3 3 00:10 stat2
3 z 5 3 00:45 stat2
我需要得到的是:
users
id name id user_id time data
1 x 1 1 00:15 stat2
3 不应该显示,因为它的最后一个值是 stat 3(显然不应该加倍,因为我有 2 个统计数据。
我可以通过多个查询来完成,但我想在 1 中完成。
谢谢