#mysql
#mysql
Вопрос:
Я настоящий новичок в MySQL, и я даже не уверен, что вопрос был сформулирован правильно.
В базе данных есть две таблицы: Products и Feedback. Поля в таблице Products — это артикулы и варианты. Для одного артикула может быть несколько вариантов. Поля в таблице обратной связи — это вариант, заголовок, текст. Между 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; … рядом с ‘ГДЕ Products.sku=’proda’
inner joi’ в строке 2
Ответ №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
.