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

标签 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 - You have an error in your SQL syntax; ... near 'WHERE Products.sku='proda'
inner joi' at line 2

最佳答案

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

关于mysql - 当MySQL查询基于相关表中的第二个关系时,如何获得一对多结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55638370/

相关文章:

PHP MySQL 获取结果以及表的列名

php - 检查用户名是否存在(PDO)

mysql - 更新mysql大表挂太时间

mysql - 匹配列,其中单词以逗号分隔

MySQL 更新同一个表上的 TRIGGER

mysql - 根据mysql中的另一列获取百分比列

mysql - 如何将aws公共(public)数据集导入mysql实例?

mysql - 更改帖子类型名称而不丢失自定义字段值

Mysql Join - 根据两个最大值过滤结果

php - 如何显示来自wordpress数据库的产品图片