2014-12-25 3 views
-1

У меня есть 3 модели, магазин, Item и Марка. Я хочу выяснить, в каких магазинах можно найти данные брендов.Получение уникальных магазинов бренда

Я пытался создать SQL-запрос для достижения этого, но я не могу приблизиться к правильному результату.

По сути, я хочу дать идентификатор торговой марки 1 и получить список магазинов, в которых есть товары от этой марки.

Как я могу это сделать?

Вот мои 4 таблицы:

марки

id | name 

элементы

id | name | brand_id 

магазины

id | name 

stores_items

id | store_id | item_id 
+0

Что вы пробовали? Люди здесь рады помочь решить проблему, но обычно не выполняют всю работу. – 9000

ответ

1

Вам нужно всего лишь JOIN ваших столов. Это вернет все магазины, где вы можете найти бренд = 1:

SELECT DISTINCT stores.name 
FROM 
    stores INNER JOIN stores_items 
    ON stores.id = stores_items.store_id 
    INNER JOIN items 
    ON stores_items.item_id = items.id 
WHERE 
    items.brand_id = 1