嗨,我試圖解決一個 sql 查詢,我需要從多個表中獲取資訊并輸出最終結果。
- 尚未提出庫存請求的所有客戶的串列。顯示客戶編號就足夠了。
我不允許使用內部連接或任何型別的連接來實作這一點。
到目前為止,這就是我想出的。
SELECT c.clientNum
FROM client AS C, Stock_Request AS SR
WHERE C.clientNum not in SR.ClientNum
目前的這種嘗試并沒有達到我想要的結果。這是表格中的資訊。
(client)
INSERT INTO Client (clientName)
VALUES ('Mike');
INSERT INTO Client (clientName)
VALUES ('John');
INSERT INTO Client (clientName)
VALUES ('Sally');
INSERT INTO Client (clientName)
VALUES ('Margret');
INSERT INTO Client (clientName)
VALUES ('Max');
(stock request)
INSERT INTO Stock_Request (requestDate, clientNum)
VALUES ('2020-12-10',1);
INSERT INTO Stock_Request (requestDate, clientNum)
VALUES ('2020-05-04',2);
INSERT INTO Stock_Request (requestDate, clientNum)
VALUES ('2021-07-06',3);
INSERT INTO Stock_Request (requestDate, clientNum)
VALUES ('2021-07-08',4);
INSERT INTO Stock_Request (requestDate, clientNum)
VALUES ('2022-02-07',5);
任何幫助,將不勝感激。
uj5u.com熱心網友回復:
您可以通過以下代碼實作它:
SELECT clientNum FROM `client`
WHERE clientNum
NOT IN (SELECT clientNum FROM stock_request GROUP BY clientNum);
您不需要在 main 上指示 stock_request 表SELECT,您只需要使用 stock_request 表clientNum通過 using 獲取子查詢中的所有內容IN,我認為您使用IN錯誤的方式。
查看有關MySQL IN 運算子的更多資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/482509.html
