当MySQL查询基于相关表中的第二个关系时,如何获得一对多结果?

时间:2019-04-11 17:42:12

标签: mysql

我是MySQL的真正菜鸟,我甚至不确定问题的措词是否正确。

该数据库有两个表,产品和反馈。产品表中的字段是sku和变体。单个sku可以有多个变体。反馈表中的字段是变体,标题,文本。在Products.variations和Feedback.variations之间存在一对多关系。

目标是查询返回单个产品的所有变体的所有反馈的标题和文本。

我的代码不起作用。在下面的示例中,当sku ='proda'时,我需要所有反馈。

SELECT DISTINCT Products.variations, Products.sku, Feedback.variations, Feedback.title, Feedback.text
WHERE Products.sku='proda'
inner join Products.sku ON Products.variations = Feedback.variations 

此错误:

  

1064-您的SQL语法有错误; ...靠近'WHERE Products.sku ='proda'
  内部joi'在第2行

1 个答案:

答案 0 :(得分:1)

INNER JOIN语句后的文字应该是表名,而不是列名。

SELECT DISTINCT Products.variations, Products.sku, Feedback.variations, Feedback.title, Feedback.text
FROM Feedback
INNER JOIN Products
ON Products.variations = Feedback.variations
WHERE Products.sku = 'proda'

WHERE语句在连接后进行。 SELECT还需要一个FROM