我的问题是我构建了一个查询,并将其结果输出到带有这些标题的表中
Query code:
$Prices_query = "
SELECT p.Description pd
, s.Description sd
, b.Brand_Description
, c.Price
FROM Products p
, Supermarket s
, Brand b
, Prices c
WHERE " . $Product_query . "
AND " . $Supermarket_query . "
AND p.Product_ID = c.Product_ID
AND s.Supermarket_ID = c.Supermarket_ID
AND b.Brand_ID = p.Brand_ID
ORDER
BY sd ";
示例数据
Name | Supermarket | Brand | Price
---
Milk | TESCO | Youmilk | 2.99
Bread | ASDA | Bakery | 4.99
Chocolate | TESCO | Lindt | 7.99
我想使用该查询的结果,并汇总来自同一超市的所有产品的价格。
我想要实现的目标
Supermarket | Price
-
TESCO | 10.98
ASDA | 4.99
我不知道该怎么做。有线索吗?非常感谢你提前
CURRENT OUTPUT
正在显示上面的示例数据
答案 0 :(得分:0)
你的问题似乎令人困惑。以下是根据我所理解的解决问题的查询。
尝试以下查询并在下方评论是否有效。
修改:我没有使用cross-join
以及稍后使用AND
条件过滤结果集,而是立即使用inner join
来消除复杂性。我也删除了不必要的连接。
$Prices_query = "
SELECT s.Description sd
,sum(c.Price)
FROM Prices c
inner join Supermarket s
on s.Supermarket_ID = c.Supermarket_ID
WHERE " . $Product_query . "
AND " . $Supermarket_query . "
Group By sd
ORDER
BY sd ";
希望它有所帮助!