我在连接 4 个表的查询返回太多结果时遇到问题。它返回了 95 个结果附近,其中一些列重复了 10 次,我认为它应该只有 3,并且数据根本不匹配。
我开始写这篇文章,并认为我会在 sqlfiddle 上很好地对其进行编码以便于解释,但是当我在那里运行查询时,它返回的结果与我想要的一样,有 34 个结果,并且所有数据都排在应该的位置。我想知道为什么查询可以像我希望的那样工作,而不是在我的服务器上。我看到他们添加了一个'额外:使用 where; 使用临时的;在视图执行链接中使用文件排序。那么我该怎么做才能使这个结果变得清晰呢?我正在尝试创建一个显示定价信息的表格。我已在此处包含查询以供参考。
SELECT DISTINCT
prices.sku,
prices.base_price,
prices.min_quantity,
price_breaks.break_point,
price_breaks.price,
price_breaks.bonus,
product_options.product_code,
product_options.size,
product_types.category_type,
product_types.product_type_name
FROM prices
LEFT JOIN price_breaks ON price_breaks.sku = prices.sku
LEFT JOIN product_options ON product_options.sku = prices.sku
LEFT JOIN product_types ON product_options.product_code = product_types.product_code
WHERE prices.group = "a"
ORDER BY product_code ASC, sku ASC, break_point ASC
这是小提琴: http ://sqlfiddle.com/#!2/67c14/1/0
感谢您的任何见解。