簡體   English   中英

SQL查詢僅在滿足特定條件時選擇行

[英]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.

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