我有一張如下所示的表格。SQL - 僅當條件匹配時才選擇
ID NAME
1 JOHN
2 JANE
3 JACK
在一個簡單的select語句中,如何從表中查詢JOHN和JANE?
條件是:
i。結果必須返回JOHN和JANE。
ii。如果從表中刪除了JOHN或JANE,它只會返回空結果。
我有一張如下所示的表格。SQL - 僅當條件匹配時才選擇
ID NAME
1 JOHN
2 JANE
3 JACK
在一個簡單的select語句中,如何從表中查詢JOHN和JANE?
條件是:
i。結果必須返回JOHN和JANE。
ii。如果從表中刪除了JOHN或JANE,它只會返回空結果。
你可以使用GROUP BY/HAVING
,確保有2場比賽:
SELECT Name
FROM T
WHERE Name IN ('JOHN', 'JANE')
AND EXISTS
( SELECT 1
FROM T
WHERE Name IN ('JOHN', 'JANE')
HAVING COUNT(DISTINCT Name) = 2
);
或者你可以使用一個自聯接:
SELECT a.Name
FROM T a
INNER JOIN T b
ON a.Name != b.Name
WHERE a.Name IN ('JOHN', 'JANE')
AND b.Name IN ('JOHN', 'JANE');
Examples on SQL Fiddle (MySQL)
試試這個:
SELECT
GROUP_CONCAT(`NAME`) as names
FROM `TABLE`
WHERE 1
AND NAME IN ('JOHN','JANE')
HAVING names= 'JOHN,JANE'
JohnAndJaneBothExist()
2.
SELECT * FROM TABLENAME
WHERE
JohnAndJaneBothExist and
Name In ('John', 'Jane')
這廁所ks可疑地像功課 –
-1沒有證據顯示你已經嘗試過什麼,你遇到什麼麻煩等等。沒問題要求做家庭作業的問題,但至少在你要求你的工作人員爲你做這件事之前,自己有一個破解。 – Sepster
請顯示一些努力...你有什麼嘗試? –