1

请伸出援助之手。

我有一个包含以下内容的项目表

item_id(pk), name, price, color

然后我有一张尺寸表

item_id(fk), size, count, sequence

我试图让用户搜索一个 LEFT JOIN 语句的项目

SELECT table.*, sizes.* FROM item LEFT JOIN sizes ON size.item_id = item.item_id

问题是我需要不重复具有多种尺寸的项目的结果,我还想知道如何只显示尺寸计数大于 0 的项目

希望有人可以帮助

4

1 回答 1

1

您将需要使用一些聚合和分组依据

首先只在输出中选择你需要的字段(例如你不想要大小所以不要包括它)

你想要'count'字段的总和 - 所以使用 sum 函数

您需要按未汇总的字段进行分组

并且您可以使用 where 子句(假设没有负数)或 have 子句来排除零行

SELECT item_id, item.name, item.price, item.color, sum(size.count) 
FROM item LEFT JOIN sizes 
where sizes.count > 0
ON sizes.item_id = item.item_id
group by item_id, item.name, item.price, item.color
于 2013-04-24T22:00:44.927 回答