2013-01-12 97 views
1

我運行此查詢#1248 - 每一個派生表必須有它自己的別名

SELECT * 
FROM (`T_INV_DTL`) 
LEFT JOIN 
(
    SELECT GROUP_CONCAT(DISTINCT T_INV_INVESTIGATOR.Employee_id) AS Employee_id 
    FROM T_INV_INVESTIGATOR 
    GROUP BY `T_INV_INVESTIGATOR`.`inv_dtl_id` 
) ON `T_INV_DTL`.`inv_dtl_id` = `T_INV_INVESTIGATOR`.`inv_dtl_id` 
JOIN `T_INVESTIGATION` ON `T_INV_DTL`.`inv_id` = `T_INVESTIGATION`.`inv_id` 

和它給這個錯誤:

#1248 - 每一個派生表必須有它自己的別名

出了什麼問題?

回答

2

你必須給一個別名的子查詢,

檢查:

SELECT * 
FROM T_INV_DTL T 
LEFT JOIN (SELECT inv_dtl_id , GROUP_CONCAT(DISTINCT Employee_id) AS Employee_id 
      FROM T_INV_INVESTIGATOR 
      GROUP BY inv_dtl_id) A ON T.inv_dtl_id = A.inv_dtl_id 
JOIN T_INVESTIGATION TI ON T.inv_id = TI.inv_id 
+0

現在我得到錯誤這個「#1054 - 未知的列'A.inv_dtl_id'在'子句'」 – user1971825

+0

@ user1971825現在試試我已經更新了我的答案。您也可以在選擇查詢中選擇該字段。 –

+0

你好..它的好..你可以改變這個查詢codeigniter sql查詢? – user1971825

0

當過你寫一個子查詢你必須給一個別名whlole

如果您有多個查詢,那麼最好在選擇列表中使用別名給予不同的名稱以避免衝突

相關問題