MySQL Join Query Problem - PullRequest
       2

MySQL Join Query Problem

0 голосов
/ 18 марта 2011

У меня есть следующие таблицы.

PHONES
 - id
 - name
 - colour
 - size

STOCK
 - store_id
 - phone_id
 - instock

STORES
 - id
 - name

LINKS
 - store_id
 - phone_id
 - url

Я хочу ВЫБРАТЬ имя, цвет, размер из ТЕЛЕФОНОВ, товар из STOCK, имя из STORES и URL-адрес из ССЫЛКИ, ГДЕ stock.phone_id = phones.id = links.phone_id AND stock.store_id = links.store_id AND stores. id = stock.store_id.

Я хочу положить, phone.name, phone.colour, phone.size, stock.instock, stores.name, links.url.

Это мой текущий запрос. Я не получаю конкретных ссылок, связанных с этим магазином И телефонными номерами.

SELECT DISTINCT(s.phone_id), st.name, st.logo_url, l.url, s.instock, s.datetime, p.model, p.colour, p.size 
FROM stock AS s, stores AS st 
INNER JOIN links AS l, phones AS p 
WHERE s.phone_id = p.id 
AND s.phone_id = l.phone_id 
AND s.store_id = l.store_id 
AND s.store_id IN ('3','4','5','6','8') 
AND s.phone_id = '5' 
ORDER BY datetime 
DESC LIMIT 5

1 Ответ

3 голосов
/ 18 марта 2011
SELECT p.name, p.colour, p.size, st.instock, s.name, l.url
FROM phones p
INNER JOIN links l ON l.phone_id = p.id
INNER JOIN stores s ON s.id = l.store_id
INNER JOIN stock st ON st.store_id = s.id AND st.phone_id = p.id
WHERE s.id IN ('3', '4', '5', '6', '8')
AND p.id = '5'

datetime не определено в описании вашей таблицы, поэтому я не добавил его в запрос, но это должно обеспечить то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...