Как создать INNER JOIN несколько таблиц в SQL - PullRequest
3 голосов
/ 10 декабря 2010

У меня есть 3 таблицы: продукты, поставщики и цены.Цены имеют product_id и vendor_id в качестве внешних ключей.Теперь я хочу показать цены как:

price_id: product_name: vendor_name: price

Что-то вроде:

SELECT p.product, v.vendor, pc.price
FROM Products AS p,
Vendors AS v
INNER JOIN Prices AS pc
ON p.product_id = pc.product_id
INNER JOIN Prices AS pc
ON v.vendor = pc.vendor_id

, но у меня не получилось.

Ответы [ 4 ]

7 голосов
/ 10 декабря 2010

Попробуйте это:

SELECT pr.price_id, p.product_name v.vendor_name, pr.price
FROM Prices AS pr
LEFT JOIN Products AS p ON p.product_id = pr.product_id
LEFT JOIN Vendors AS v ON v.vendor = pr.vendor_id
0 голосов
/ 20 марта 2015

Здравствуйте, у меня есть 3 разные таблицы, и этот запрос работает хорошо.

SELECT A.ID_USER,A.NAME,D.ADDRESS,B.ID_STATE,B.STATE,A.ID_COUNTRY,C.COUNTRY 
FROM market.USER A 
    INNER JOIN market.state B
ON   A.ID_STATE=B.ID_STATE 
    INNER JOIN market.country C
ON A.ID_COUNTRY=C.ID_COUNTRY
    INNER JOIN market.contact D
ON A.ID_CONTACT=D.ID_CONTACT

попробуйте сделать это по собственному желанию.

0 голосов
/ 10 декабря 2010

или напишите 3 различных оператора выбора и соедините их с UNION

0 голосов
/ 10 декабря 2010

Вы не можете использовать один и тот же псевдоним дважды

Prices as pc

Вы можете использовать компьютер только один раз.

...