は、私たちは、このような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より小さいすべてのジョブを取得するためにクエリを作成するにはどうすればよいですか?
テスト済みで動作します。ありがとうございました。 –