在子查询中使用父ID?

时间:2017-11-09 10:16:58

标签: mysql sql

SELECT li_1.carrier, li_1.product_id, li_1.quantity, products_description.products_name, sites.sites_id, sites.sites_name, counted_table.counted
FROM inventory li_1
INNER JOIN products_description ON li_1.product_id = products_description.products_id
INNER JOIN sites ON products_description.data = sites.data
INNER JOIN (
   SELECT SUM( li_2.quantity ) AS counted
   FROM inventory li_2
   WHERE li_1.product_id = li_2.product_id
) counted_table
GROUP BY li_1.product_id
ORDER BY li_1.id DESC

我试图使用父ID(product_id)来计算子查询中每个产品的总数量 - 但我只得到标准的mysql错误消息。

类似

   id   |   quantity    |   total
---------------------------------
0001    |       2       |   6
        |               |
0001    |       4       |   6

可能出现什么问题?

1 个答案:

答案 0 :(得分:0)

如果您更改子查询,则可以修复

SELECT li_1.carrier, li_1.product_id, li_1.quantity, products_description.products_name, sites.sites_id, sites.sites_name, counted_table.counted
FROM inventory li_1
INNER JOIN products_description ON li_1.product_id = products_description.products_id
INNER JOIN sites ON products_description.data = sites.data
INNER JOIN (
   SELECT product_id,SUM( li_2.quantity ) AS counted
   FROM inventory li_2
   GROUP BY li_2.product_id   
) counted_table ON li_1.product_id = counted_table.product_id
ORDER BY li_1.id DESC