我正在尝试做什么
我有两个表,一个用于事件,另一个表示是否已经看到每个事件ID。我想创建一个连接 event.id 和 seen.eventid 上的两个表的查询。但是,我只想返回 not 的行,按照最近的顺序排序。
我现在拥有的
这是用于返回已经看过的所有事件的查询:
SELECT *
FROM `events`
JOIN `seen` ON (`seen`.`event_id`=`event`.`id`)
//This is not part of the question but I might as well paste the entire code
//WHERE `user_id`='34'
//AND (`meta_id`='45' OR `meta_id`='37' OR `meta_id`='43')
GROUP BY `event_id`
ORDER BY `event`.`date` DESC
如何撤消查询,以便返回的是event
中与此查询 匹配的行?
答案 0 :(得分:2)
我们不知道你的桌子结构,所以我只是在猜...
SELECT *
FROM events e
LEFT
JOIN seen s
ON s.event_id = e.id)
AND s.user_id=34
WHERE e.meta_id IN (45,37,43)
AND s.event_id IS NULL
GROUP
BY e.event_id
ORDER
BY e.date DESC