Готов поспорить, это простой вопрос, но мои отломы MySQL немного ржавые. Необходимо немного помочь создать правильный запрос для следующего сценария с несколькими условными соединениями. У меня есть одна таблица для атрибутов (думаю теги) и другая таблица, которая имеет список записей. Запуск проблем, когда я хочу сопоставить страницу с более чем одним атрибутом, определенным в запросе.Multi-conditional join
+--------------------------------------+
| ATTRIBUTES |
+-----------+------------+-------------+
| name | value | page_id |
+-----------+------------+-------------+
| type food 2 |
| fruit apple 2 |
| color green 2 |
| type frog 3 |
| color green 3 |
+--------------------------------------+
+--------------------------------------+
| PAGES |
+--------------+-----------------------+
| page_id | title |
+--------------+-----------------------+
| 2 Granny Smith |
| 3 Kermit the Frog |
+--------------------------------------+
ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ
Query: type+food
Results: Granny Smith
Query: color+green
Results: Granny Smith, Kermit the Frog
Query: type+food and color+green
Results: Granny Smith
Это запрос, я играл с, но, очевидно, не работает:
SELECT page.page_id, page.title
FROM page_attributes
LEFT JOIN page ON (page_attributes.page_id = page.page_id)
WHERE (page_attributes.name = 'color'
AND page_attributes.value = 'green')
AND (page_attributes.name = 'type'
AND page_attributes.value = 'food')
Покажите нам, какой SQL вы пробовали, пожалуйста. –
Какой у вас запрос, который не работает? –
, если вы только хотите, чтобы результаты были указаны, то вам совсем не нужно присоединяться ... – luksch