SQL,JOIN?来自三个表的信息

时间:2012-10-27 13:48:32

标签: sql join

有表格ordersshipping_typesshipping_modules

如何从表orders中打印表shipping_modules一个字段中的信息?

where 
    o.shipping_type_id = st.shipping_type_id 
and st.shipping_module_id = sm_shipping_module_id

也就是说,JOIN在这里就像你不能使用,因为它是结合使用的,而不是两个而是三个表。

2 个答案:

答案 0 :(得分:2)

不,此处仍允许加入。如果需要,您可以加入多个表。

SELECT  a.*, c.shipping_module_id
FROM    orders a
        INNER JOIN shipping_types b
            ON a.shipping_type_id = b.shipping_type_id
        INNER JOIN shipping_modules c
            ON b.shipping_module_id = c.shipping_module_id

只需将c.shipping_module_id更改为您要显示的所需列名称。

答案 1 :(得分:1)

您可以JOIN尽可能多的表格,只使用您需要在SELECT中显示的字段。
即。

SELECT table1.fld1, table3.fld3
FROM table1
JOIN table2 ON ...
JOIN table3 ON ...
...