Задавайте вопросы, мы ответим
Вы не зашли.
Всем привет!
Подскажите как правильно составить запрос
есть 3 таблицы:
таблица1(Характеристика) -> id
таблица2(производители) -> manufacturer_id, name
таблица3(товары) -> product_manufacturer_id, extra_field_id
как вывести производителей у которых есть товар с определенной характеристикой например id = 132
ответ на запрос: manufacturer_id, name
Отредактированно odlf3 (19.11.2012 22:39:37)
Неактивен
extra_field_id это характеристики? тогда:
Неактивен
Да extra_field_id это характеристики!
Хорошо больше не буду дублировать, я здесь первый раз, думал так быстрей ответят.
Запрос работает, вот только не совсем верно. Мне нужно вывести список ПРОИЗВОДИТЕЛЕЙ, а не товаров. причем чтоб они не дублировались(желательно, но можно и отфильтровать и с помощью php).
нашел любое количество товаров c характеристикой id=132 и вывел в список его производителя...
Отредактированно odlf3 (20.11.2012 00:54:14)
Неактивен
На сколько я могу судить по приведенной в первом посте структуре таблиц, мой запрос как раз и вернет производителей. Если это не так, то приведите структуру (в виде create table ..) и тестовые данные на 10 строк (insert into ..).
Чтобы избавиться от дубликатов - SELECT DISTINCT ...
Неактивен
все отлично, все работает, спасибо!
Но есть маленький нюанс. name на самом деле полностью name_ru-RU и запрос с таким именем из-за дефиса не проходит, а если поставить * то name_ru-RU аж 2 штуки из каждой таблицы, как потом вызывать именно тот name_ru-RU если их две. Ставил внутренние кавычки тоже не хочет работать а простые одинарные кавычки выдают все значения name_ru-RU. Как справится с этой бедой?
Неактивен
select `name_ru-RU`, ..
Неактивен
select `таблица2(производители)`.`name_ru-RU`, ..
Неактивен