1
假設我們在這裏有兩個表格,帖子和評論,關係是一對多的,評論表中有一個字段調用comment_date。選擇所有記錄不符合加入表中的某些條件
現在我很難得到預期的結果如下:
所有的職位有一定的日期後沒有意見,我可以通過SQL語句這樣做呢?
假設我們在這裏有兩個表格,帖子和評論,關係是一對多的,評論表中有一個字段調用comment_date。選擇所有記錄不符合加入表中的某些條件
現在我很難得到預期的結果如下:
所有的職位有一定的日期後沒有意見,我可以通過SQL語句這樣做呢?
SELECT *
FROM posts p
WHERE NOT EXISTS(
SELECT 1
FROM comments c
WHERE c.comment_date >= 'deadline'
AND p.post_id = c.post_id
)
SELECT *
FROM posts
WHERE post_id NOT IN
(
SELECT comment_post
FROM comments
WHERE comment_date >= @deadline
)
測試,當過好第一個,謝謝。這是聰明的,不需要指定外鍵。因爲我在評論中使用了post_id,所以如果用post_id替換comment_post,它將是一個完美的答案。 – 2009-05-29 11:12:07
NOT IN實際上被優化爲不存在於MySQL中 – Quassnoi 2009-05-29 11:14:54