簡體   English   中英

MySQL從一個表中選擇行而不在另一個表中選擇特定日期

[英]MySQL select rows from one table not in another for specific dates

我有兩個表個人和職員登錄時間,如下所述。 我想獲取在特定日期未登錄的人員。

individuals
+----+------+--------------+
| id | name | phone_number |
+----+------+--------------+
| 1  | Smith | 1234567897 |
+----+------+--------------+
| 2  | David | 9874561237 |
+----+------+--------------+
| 3  | John | 7778889991 |
+----+------+--------------+

staff_login_times
+----+------+--------------+
| id | individual_id | login_date |
+----+------+--------------+
| 1  | 2             | 2017-02-27 |
+----+------+--------------+
| 2  | 1             | 2017-02-26 |
+----+------+--------------+
| 3  | 2             | 2017-02-26 |
+----+------+--------------+
| 4  | 3             | 2017-02-26 |
+----+------+--------------+

我如何找出27日不在場的人

Result
+----+------+--------------+
| id | name  | phone_number |
+----+------+--------------+
| 1  | Smith | 1234567897   |
+----+------+--------------+
| 3  | John  | 7778889991   |
+----+------+--------------+

我嘗試過的查詢:

SELECT *
FROM individuals
LEFT JOIN staff_login_times ON individuals.id = staff_login_times.individual_id
WHERE staff_login_times.individual_id IS NULL
  AND staff_login_times.login_date = '2017-02-27'

只是很小的變化,使用您的條件和join語句即可:-

SELECT *
FROM individuals
LEFT JOIN staff_login_times ON individuals.id = staff_login_times.individual_id AND staff_login_times.login_date = '2017-02-27'
WHERE staff_login_times.individual_id IS NULL

你不需要加入

嘗試這個

select * from individuals 
where id not in 
(select individual_id from staff_login_times where login_date = '2017-02-27');

我希望這有幫助:

SELECT a.id, a.`name`, a.phone_number, b.login_date FROM individuals a LEFT JOIN 
staff_login_times b on a.id = b.individual_id WHERE b.login_date <> "2017-02-27";

您可以使用的另一個選項是where條件而不是LEFT JOIN擴展

  SELECT individuals.id ,individuals.name FROM individuals ,staff_login_times WHERE 
staff_login_times.login_date = '2017-02-27'
AND staff_login_times.individual_id  != individuals.id ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM