Рассмотрим две таблицы базы данных, Reports
и Reports_has_properties
SQL, где все остальное
Reports
------
id_report
1
2
3
Reports_has_properties
----------------------
id_report property
1 red
1 big
2 orange
3 blue
3 tiny
Проблема: я только получаю только отчеты со свойством красного, например, но запрос возвращает все id_report
, которые соответствуют с id_report
SELECT * FROM reports
INNER JOIN reports_has_properties
ON reports_has_properties.id_report = reports.id_report
WHERE reports_has_properties.property = 'red'
логическим explanion является: ЕСЛИ reports_has_properties ИМЕЕТ id_report с другим свойством, то не»выбрать его! id_report 1 имеет свойство красного и большого, так что это не хорошо. Но если я ищу свойство orange, id_report 2 имеет только одно свойство, поэтому все в порядке.
Я пробовал много вещей, но у меня больше нет идей. Большое спасибо.
ошибка ... какой? да? – rball
Таблица Reports_has_properties имеет свойство red и big для id_report 1, поэтому я хочу выбрать только строки с только красным свойством – 2009-07-14 03:56:23