簡體   English   中英

Mysql子選擇具有主選擇中的值的where子句

[英]MySql subselect havning where clause with value from main select

有我正在努力做的選擇

SELECT DISTINCT a.client_key, client_name 
FROM Bloggers AS a 
LEFT JOIN BloggersPosts AS b 
ON a.client_key = b.client_key 
WHERE a.status = 1 AND 
0 NOT IN (SELECT MIN(STATUS) FROM BloggersPosts AS c WHERE c.client_key=a.client_key)

由於某些原因0 NOT IN (SELECT MIN(STATUS) FROM BloggersPosts AS c WHERE c.client_key=a.client_key)不起作用,是否有任何想法使其起作用?

編輯:不工作,我的意思是如果我刪除懷疑-我的查詢給出結果行。 但是,一旦我添加了它-結果為空。 同時我單獨執行子選擇SELECT MIN(STATUS) FROM BloggersPosts -它返回1,這意味着將其作為子選擇-也應返回結果,但不會返回結果。

謝謝

我希望這能做好您的工作。 針對您的問題嘗試其他解決方案。

SELECT DISTINCT a.client_key, client_name 
FROM Bloggers AS a 
JOIN (SELECT client_key, MIN(STATUS) minstatus FROM BloggersPosts GROUP BY client_key) b
ON a.client_key = b.client_key AND minstatus <> 0
WHERE a.status = 1

改為使用JOIN,類似類似的內容:

SELECT DISTINCT a.client_key, client_name, MIN(c.STATUS) blog_status
FROM Bloggers AS a 
LEFT JOIN BloggersPosts AS b ON a.client_key = b.client_key 
LEFT JOIN BloggersPosts AS c ON c.client_key = a.client_key
WHERE a.status = 1 
HAVING blog_status <> 0

暫無
暫無

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

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