Вы может использовать это;
select distinct(id_product) from table_name
where id_category=1 or id_category=15
group by id_product;
Вот SqlFiddle пример
EDIT:
Я понимаю, что вы имеете в виду .. я могу дать два примера использования присоединиться и где положение;
Давайте рассмотрим первый пример;
SELECT `settings`.*, `character_settings`.`value`
FROM (`settings`)
LEFT JOIN `character_settings`
ON `character_settings`.`setting_id` = `settings`.`id`
WHERE `character_settings`.`character_id` = '1'
Как вы видите, в первом примере, character_id
фильтрует с тем, где пункт однако, where clause
фильтрует далеко строки, где left join
не удается. Таким образом, мы должны сделать это в присоединиться AND
переместить его в объединение:
SELECT `settings`.*, `character_settings`.`value`
FROM `settings`
LEFT JOIN
`character_settings`
ON `character_settings`.`setting_id` = `settings`.`id`
AND `character_settings`.`character_id` = '1'
Так что для того, чтобы использовать WHERE
положение в соединение, использовать AND
оператор в JOIN
. Надеюсь, что это поможет решить ваш вопрос.
EDIT2:
В вашей задаче возможно, что вам нужно использовать OR
не AND
Спасибо, что было действительно полезно. Теперь проблема заключается в том, что мне нужно, чтобы она включала его внутри предложения «AND» в JOIN. Как я могу это достичь? –
@ DimitriosMarkopoulos Я не понимал, что вы имеете в виду. Приведите пример, чтобы я мог написать полный запрос – goGud
Да, извините за мой плохой английский. вот сценарий: http://pastie.org/pastes/10107359 –