我目前遇到的问题是我在多个表上运行查询以获得结果,但它们都被认为是独立的。我已经尝试了几种方法来组合它们,但由于我的SQL知识有限,我似乎无法得到我想要发生的事情。
SELECT DISTINCT t.*, s.quantity, s.rrp, ts.thumbnail, ts.bigpic, t.rating
FROM tyres t
INNER JOIN stocklevels s
ON t.stockcode = s.stockcode
LEFT JOIN tyre_treads ts
ON t.treadid = ts.recid
LEFT JOIN reseller r
ON s.city=r.recid
WHERE s.quantity> 0 AND s.rrp > 0
我尝试过添加GROUP BY t.recid和其他几个基本解决方案,但这似乎不起作用。我添加了一些可能有帮助的图片。
正如您所看到的,Toyo轮胎底部是相同的,只是城市和数量不同。
他们在网站上。
我想要将它们结合起来,以便他们说最少6个库存并且只在网站上显示一次。
答案 0 :(得分:3)
只要你的SQK resukt中至少有一列包含不同的值(例如你的例子中的城市为"相同的"轮胎,分组通过赢得工作。你必须以某种方式调整你的SQL语句,它只选择具有相同值的列。特别是,你应该从你的sql中删除t.*
并命名所有列(然后你就不再需要它了)。
然后,您将数量相加以获得此列的组合值。
SELECT r.recid, sum(s.quantity), s.rrp, ts.thumbnail, ts.bigpic, t.rating
FROM tyres t
INNER JOIN stocklevels s
ON t.stockcode = s.stockcode
LEFT JOIN tyre_treads ts
ON t.treadid = ts.recid
LEFT JOIN reseller r
ON s.city=r.recid
WHERE s.quantity> 0 AND s.rrp > 0
GROUP BY recid