MySQL — выбор данных из трех разных таблиц

Я пытаюсь выбрать данные из трех разных таблиц. Как мне присоединиться к этим таблицам, чтобы сделать правильный запрос?

****customers****
--------------------------
id            full_name
54            Matt Damon
53            Jimmy Kimmel

****samples****
--------------------------
id            rma_id
57            USARP011315-25
56            USARP011315-24

****early_ships****
--------------------------
customer_id   sample_id   shipping_carrier
54            57          UPS
53            56          FedEx

Это запрос, который я выполнял, но я дал 0 результатов. Это руководство, которому я следовал: http://javarevisited.blogspot.com/2012/11/how-to-join-three-tables-in-sql-query-mysql-sqlserver.html

SELECT samples.rma_id, customers.full_name, early_ships.shipping_carrier, 
FROM customers c JOIN early_ships e ON c.id = e.customer_id
JOIN samples s ON e.sample_id = s.id

person jchi2241    schedule 13.01.2015    source источник
comment
Можете ли вы сказать, какой результат вы хотите получить от этих трех таблиц?   -  person Keval    schedule 13.01.2015
comment
Это выглядит хорошо для меня. Я не думаю, что это лишняя запятая в конце первой строки?   -  person bennettp123    schedule 13.01.2015
comment
покажите нам реальный запрос, если выше не тот...   -  person SMA    schedule 13.01.2015
comment
Я хотел получить обе строки из каждой таблицы выше. Проблема устранена после того, как я изменил исходные имена на созданный мной псевдоним таблицы.   -  person jchi2241    schedule 13.01.2015


Ответы (2)


Две проблемы:

  1. В конце предложения SELECT есть лишняя запятая.
  2. В предложении FROM..JOIN вы дали псевдонимы, но затем пытаетесь использовать исходные имена в предложении SELECT.

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

SELECT s.rma_id, c.full_name, e.shipping_carrier

FROM customers c
JOIN early_ships e
    ON c.id = e.customer_id
JOIN samples s
    ON e.sample_id = s.id

(добавлены пробелы для удобства чтения)

person bennettp123    schedule 13.01.2015
comment
для псевдонимов SQL, как только я создаю псевдоним, я предполагаю, что больше не могу использовать исходное имя, тогда правильно? - person jchi2241; 13.01.2015

Вы должны использовать псевдонимы таблиц в предложении SELECT. Пожалуйста, проверьте эту скрипку, которую я создал для вас. Он работает отлично. http://sqlfiddle.com/#!2/49462/8

person su8898    schedule 13.01.2015