我怎样才能加入3个表?

时间:2014-03-06 16:26:01

标签: sql sql-server-2008 join left-join

我有三张桌子。我要显示的主表包含所有数据,而其他两个表包含其主参考ID在主表中可用的值。我想显示主表中的所有值以及其他两个表中可用引用的值。

PART_ID和SERIAL_ID值分别在表B和表C中提供。我该如何显示数据?

我正在使用内部联接来显示结果但不符合我的要求。

这是我的SQL代码:

SELECT 
    TEMP_RMA_ENQUIRY.TEMP_ID, 
    PART_NUMBER_TBL.PART_NO, 
    PART_SERIAL.SERIAL_NUM 
FROM TEMP_RMA_ENQUIRY
INNER JOIN PART_NUMBER_TBL 
    ON TEMP_RMA_ENQUIRY.RMA_PART_NO=PART_NUMBER_TBL.PARTID
INNER JOIN PART_SERIAL 
    ON TEMP_RMA_ENQUIRY.RMA_SERIAL_NO=PART_SERIAL.SERIAL_ID

1 个答案:

答案 0 :(得分:3)

  

使用左连接代替内连接

试试这个

SELECT TEMP_RMA_ENQUIRY.TEMP_ID, 
       PART_NUMBER_TBL.PART_NO, 
       PART_SERIAL.SERIAL_NUM 
  FROM TEMP_RMA_ENQUIRY 
       LEFT JOIN PART_NUMBER_TBL 
                  ON TEMP_RMA_ENQUIRY.RMA_PART_NO=PART_NUMBER_TBL.PARTID 
       LEFT JOIN PART_SERIAL 
                  ON TEMP_RMA_ENQUIRY.RMA_SERIAL_NO=PART_SERIAL.SERIAL_ID