我有一张表,其中列出了不同用户的寄售清单(表名是寄售)。此表包含作为 PK 的寄售 id (cons_id)、user_id 和日期(以及其他详细信息)。
我有另一个表,其中包含这些寄售的详细信息(表名称是寄售)。它有item_id 为PK,cons_id 为FK,货物的重量、跟踪号和其他详细信息。此表中有多个条目具有与第一个表中的单个条目(寄售)相关的相同外键。
我想为特定用户选择第一个表(货物)中的所有条目,以及从第二个表中获得的详细信息(即特定货物的所有项目的总重量,即第二个表中的条目等.)。
我使用以下 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
这仅返回该特定用户的寄售表中的第一项,而不返回其余条目。当然,如果我不将它与第二张表连接起来,则所有条目都会返回。
我不确定 sum 之类的聚合是否是问题以及如何正确解决问题。
任何建议将不胜感激。