У меня есть следующие две таблицы:SQL: выпуск объединения таблиц
attributevalueassign
itm_id attr_value_id attr_id
----- ------------- -------
396 237 1
396 20 2
715 274 1
715 16 2
attributevalue
attr_id attr_value_id attr_value
------- ------------- ----------
1 237 3055020
1 274 2454518
2 16 Dunlop
2 20 Vogue
Мне нужно, чтобы иметь возможность написать запрос, когда я поставить ITEM_ID (например: 396), я возвращаюсь к следующему результату:
itm_id attr_value_id attr_id attr_value
------ ------------- ------- ----------
396 237 1 3055020
396 20 2 Vogue
Когда я пытаюсь с помощью INNER JOIN, я получаю больше строк, чем я хочу:
SELECT dbo.select_attributevalue.attr_value, dbo.select_attributevalueassign.itm_id
FROM dbo.select_attributevalueassign INNER JOIN
dbo.select_attributevalue ON dbo.select_attributevalueassign.attr_id = dbo.select_attributevalue.attr_id
WHERE (dbo.select_attributevalueassign.itm_id = 396)
itm_id attr_value_id attr_id attr_value
------ ------------- ------- ----------
396 237 1 3055020
396 237 1 2454518
396 20 2 Dunlop
396 20 2 Vogue
Итак, моя мысль в том, что я, вероятно, шо не использовать JOIN, но я не знаю, что это за альтернатива. Я вырыл на этом сайте, ища решение, и есть много вопросов о том, как удалить дубликаты записей с помощью соединения, но я не видел ничего похожего на то, что я просил. Мои знания SQL-запросов являются базовыми, поэтому я не уверен, что делать. Любая помощь приветствуется!
Он отлично работает! Благодаря! –