Mysql左外连接从连接表中检索错误数据

时间:2014-01-11 21:09:18

标签: mysql left-join

我正在学习如何在mysql中连接表。一切都在我的查询中工作,除了它从供应商表中提取错误的供应商名称。我已经尝试了几件事来解决这个问题,但没有任何工作。返回的所有其他信息都是正确的。

SELECT p.product_id, p.product_name, p.product_pic, 
       AVG(r.review_stars), 
       COUNT(DISTINCT r.review_id), MIN(c.price_price), 
       p.product_url, v.vendor_name, p.product_clicks, 
       SUM(c.price_clicks), COUNT(c.price_price), 
       c.price_affiliate
  FROM products as p 
  LEFT OUTER JOIN reviews as r ON p.product_id = r.review_product
  LEFT OUTER JOIN prices as c ON c.price_product = p.product_id
  LEFT OUTER JOIN vendors as v ON c.price_vendor = v.vendor_id
 GROUP BY p.product_id
 ORDER BY p.product_clicks DESC
 LIMIT 21

为什么没有抓住正确的供应商名称?根据我的理解,“LE ON OUTER JOIN供应商v ON c.price_vendor = v.vendor_id”应与记录匹配,并且应该在该特定供应商记录中提取名称。但是,每次刷新时,它似乎都在拉随机vendor_name条目,并且它不同。

0 个答案:

没有答案
相关问题