MySQL - 从三个不同的表中选择数据

MySQL - Selecting data from three different tables

我正在尝试 select 来自三个不同表的数据。我将如何连接这些表以进行正确的查询?

****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

两期:

  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

(为便于阅读而添加的空格)

您必须在 SELECT 子句中使用 table 别名。请检查我为您创建的 fiddle。它工作完美。 http://sqlfiddle.com/#!2/49462/8