1

「金額」が 1500 以上のレコードをすべて取得したかったのですが、問題は「金額」が 1500 未満であってもページに表示されてしまうことです。

customers table
id   name
1    sample
2    sample2
3    sample3


payments table

p_id  amount  id(foreign key)
1      800     2
2      800     2
3      1500    1
4      1200    3

金額が 1500 以上であるため、貸衣装 1 と 2 を取得する必要があります。

ありがとう、ミック:)

4

1 に答える 1

3

これには、テーブルを結合する必要があります。GROUP BY列の 1 つが次を使用して集計されているためSUM()HAVING句が使用され、集計の結果をフィルタリングするために使用されます。

SELECT  a.ID, a.name
FROM    customers a
        INNER JOIN payments b
            ON a.ID = b.id
GROUP   BY a.ID, a.name
HAVING  SUM(b.amount) >= 1500
于 2013-03-01T00:32:59.633 に答える