さまざまなユーザーの委託品のリストを含むテーブルがあります (テーブル名は委託品です)。このテーブルには、PK としての委託 ID (cons_id)、user_id、および日付 (およびその他の詳細) が含まれています。
これらの委託品の詳細を含む別のテーブルがあります (テーブル名は委託品です)。PK として item_id、FK として cons_id、重量、追跡番号、およびその他の貨物の詳細が含まれます。このテーブルには、最初のテーブル (委託) の単一のエントリに関連する同じ外部キーを持つ複数のエントリがあります。
特定のユーザーの最初のテーブル (貨物) のすべてのエントリを、2 番目のテーブルから取得した詳細 (つまり、2 番目のテーブルのエントリである特定の貨物のすべてのアイテムの合計重量など) とともに選択したい.)。
次のmysqlコマンドを使用します。
SELECT a.cons_id, a.user_id, a.date,
sum(c.weight) AS weight, sum(c.weight*2) AS amount,
count(c.tracking) AS qty
FROM `consignments` AS a LEFT JOIN `consignment` AS c
ON c.cons_id = a.cons_id WHERE a.user_id = 103
これにより、その特定のユーザーの委託販売テーブルの最初のアイテムのみが返され、残りのエントリは返されません。もちろん、2 番目のテーブルと結合しないと、すべてのエントリが返されます。
合計のような集計が問題であるかどうか、およびそれを正しく行う方法がわかりません。
どんな提案でも大歓迎です。