[英]SQL query to only select row if specific condition is met
考慮以下SQL查詢:
SELECT
friends.name as friendname,
friends.surname as friendsurname,
friends.number as friendnumber,
friends.gender as friendgender,
clients.name as clientname,
clients.surname as clientsurname
FROM friends
INNER JOIN clients
ON friends.clientid = clients.id
WHERE datetime(friends.creationdate, 'localtime') >= datetime('SOME_TEST_TIME') AND datetime(friends.creationdate, 'localtime') <= datetime('SOME_TEST_TIME')
friends
表和clients
表都有一個我想在此查詢中進行比較的number
列:如果friends.number
已經在clients
表中( clients.number
表號列),那么就不再選擇該特定行。 如何在一個查詢中完成此操作?
例:
Table clients:
--------------------------
id name surname number
1 john smith 55555
2 sam wesker 12345
3 adam Nye 48745
--------------------------
Table friends:
----------------------------------
id name surname number clientid
1 abcd qwert 88888 2
2 dddd asdfg 48745 2
3 ffff zxcvb 77777 3
----------------------------------
該查詢應省略friends
的第二行,因為它的編號出現在clients
表中
添加:
AND friends.number NOT IN (SELECT clients.number FROM clients)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.