请伸出援助之手。
我有一个包含以下内容的项目表
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的项目
希望有人可以提供帮助
答案 0 :(得分:1)
您需要使用一些聚合和分组
首先只选择输出中需要的字段(例如,你不想要大小,所以不要包括它)
你想要'count'字段的总和 - 所以使用sum函数
您需要按照您未汇总的字段进行分组
你可以使用where子句(假设没有负数)或者有一个子句来排除零行
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