2013-04-28 122 views
0

我使用的是三張表,我想要table3的詳細信息與table_1.field_id。現在我得到沒有table_1.field_id的完整記錄。如何將table1.field_idtable_3記錄包含在一起?從三個表中獲取記錄sql

查詢:

select 
    fld_id, fld_name, fld_date 
from 
    table_3 
where 
    fld_item_id in (select fld_id 
        from tbl_table2 
        where fld_cust_id in (select fld_id 
             from table_1 
             where fld_ref_id = 100)); 

表3

FLD_ID FLD_Name FLD_DATE  FLD_ITEM_ID 
101  hai 12-01-2013 10 

表2

FLD_ID FLD_value FLD_CUST_ID FLD_DATE  
10  100  10000  12-01-2013 

表1

FLD_ID FLD_NAME fld_ref_id FLD_DATE 
10000 Vinoth 100   12-01-2013 
+2

顯示您的表架構請 – 2013-04-28 13:54:27

+2

使用'join'讓所有相關數據 – 2013-04-28 13:58:28

回答

2

嘗試(由RBarryYoung爲sugested)

SELECT B.fld_cust_id Table1FieldId, C.fld_id, C.fld_name, C.fld_date 
FROM tbl_table2 B 
INNER JOIN table_3 C ON C.fld_item_id = B.fld_id 
WHERE A.fld_ref_id=100 

或(如果需要從table_1等領域)

SELECT A.fld_id Table1FieldId, C.fld_id, C.fld_name, C.fld_date 
FROM table_1 A 
INNER JOIN tbl_table2 B ON B.fld_cust_id = A.fld_id 
INNER JOIN table_3 C ON C.fld_item_id = B.fld_id 
WHERE A.fld_ref_id=100 
+0

如果您只需要Table_1.FLD_ID,則實際上不需要加入它,因爲它與Table_2.FLD_CUST_ID相同。 – RBarryYoung 2013-04-28 14:38:53

+0

@RBarryYoung更新了答案。謝謝... :) – Nalaka526 2013-04-28 15:52:25