繁体   English   中英

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

[英]How to get a one-to-many result when the MySQL query is based on a second relationship in the related table?

我是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'
第2行的内部joi'

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM