[英]MySQL SELECT records NOT EXISTS from specific date
我有兩個表:
USERS
1. id
2. name
3. surname
4. email
訂票
1. id
2. id_user
3. film
4. date_selling
我想列出自特定日期以來所有未購買門票的用戶。
我嘗試了很多組合,但是找不到正確的方法來達到結果。
查詢1:
SELECT u.*
FROM users u
LEFT JOIN tickets t ON t.id_user = u.id
WHERE t.date_selling >= "2019-01-01"
GROUP BY u.id HAVING COUNT(t.id) = 0;
查詢2:
SELECT u.*
FROM users u
WHERE (NOT EXISTS(
SELECT 1
FROM tickets t
WHERE t.id_user = u.id AND t.date_selling >= "2019-01-01"));
您需要一個WHERE子句:
SELECT u.* FROM users u
WHERE NOT EXISTS(
SELECT 1 FROM tickets t
WHERE t.id_user = u.id AND t.date_selling >= '2019-01-01'
);
或使用左聯接:
SELECT u.*
FROM users u LEFT JOIN tickets t
ON t.id_user = u.id AND t.date_selling >= '2019-01-01'
WHERE t.id_user IS NULL;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.