我們有這樣的DB:MySQL的選擇查詢問題
CREATE TABLE `jobs` (
`id` int NOT NULL AUTO_INCREMENT,
`job` varchar(255),
PRIMARY KEY (`id`)
);
INSERT INTO `jobs` VALUES
(1,'a'),
(2,'b'),
(3,'c'),
(4,'d');
CREATE TABLE `payments` (
`job_id` int,
`amount` int
);
INSERT INTO `payments` VALUES
(1,100),
(1,100),
(2,600),
(2,600);
我們的任務是:
獲取所有的工作,其中支付的金額小於1000
因此,我們應該是'a','c'和'd'。但我們的查詢:
SELECT job
FROM jobs j
JOIN payments p ON j.id=p.job_id
GROUP BY job_id
HAVING sum(amount) < 1000;
排除了沒有任何付款的職位。所以我們只得到'a'的結果。
我們應該如何構造查詢來獲得所有付款總額小於1000的工作?
經過測試和工作。謝謝。 –