2012-05-08 32 views
7

我該如何通過設置別名來更正此錯誤? 錯誤:#1248 - 每一個派生表必須有它自己的別名mySQL錯誤:#1248 - 每個派生表都必須有自己的別名

SELECT 
    entry_id, 
    author_id, 
    title, 
    status 
FROM exp_channel_titles 

LEFT JOIN 
(SELECT 
    entry_id, 
    field_id_14, 
    field_id_15, 
    field_id_25, 
    field_id_27, 
    field_id_28, 
    field_id_29, 
    field_id_30, 
    field_id_31, 
    field_id_32, 
    field_id_33, 
    field_id_34, 
    field_id_35 
FROM exp_channel_data 
WHERE entry_id = exp_channel_titles.entry_id) 

LEFT JOIN 
(SELECT 
    member_id, 
    email 
FROM exp_members 
WHERE member_id = exp_channel_titles.author_id) 

WHERE title LIKE %Member% 
AND status = 'complete' 

回答

18

那麼,作爲錯誤說,你必須每名派生表。例如

(SELECT 
    member_id, 
    email 
FROM exp_members 
WHERE member_id = exp_channel_titles.author_id) 

是派生表。添加一個名字,像這樣:

(SELECT 
    member_id, 
    email 
FROM exp_members 
WHERE member_id = exp_channel_titles.author_id) tempTableNameGoesHere 

(我想我肯定是沒有必要的支架與名稱之間的as,但我想你可以嘗試,或從這裏看它;) )

你的後續問題(多長時間,我們要做到這一點?:))

WHERE title LIKE %Member% 

應該

WHERE title LIKE '%Member%' 
+0

(這適用於所有派生的課程表,不僅適用於此課程) – Nanne

+0

謝謝...現在我在使用Imdad的示例後出現了另一個錯誤。有什麼建議?在WHERE ect.title LIKE%Member%AND ect.status ='complete'在第33行使用'LIMIT 0,30'的語法 – acctman

+1

您應該在'like'的周圍放置''' – Nanne

1
SELECT 
    ect.entry_id, 
    ect.author_id, 
    ect.title, 
    ect.status 
FROM exp_channel_titles as ect 

LEFT JOIN 
(SELECT 
    entry_id, 
    field_id_14, 
    field_id_15, 
    field_id_25, 
    field_id_27, 
    field_id_28, 
    field_id_29, 
    field_id_30, 
    field_id_31, 
    field_id_32, 
    field_id_33, 
    field_id_34, 
    field_id_35 
FROM exp_channel_data) as ecd 
ON ecd.entry_id = ect.entry_id 

LEFT JOIN 
(SELECT 
    member_id, 
    email 
FROM exp_members) as exm 
ON exm.member_id = ect.author_id 

WHERE ect.title LIKE '%Member%' 
AND ect.status = 'complete' 
+0

現在感謝我收到此錯誤... #1064 - 您的SQL語法有錯誤;檢查對應於您的MySQL服務器版本的手冊,以便在第33行'WHERE ect.title LIKE%Member%AND ect.status ='完成'LIMIT 0,30'時使用正確的語法 – acctman

+1

檢查更新後的查詢 – Imdad

+0

感謝Imadad工作過。我想我的問題是錯誤的。我得到所有結果Entry_id Author_id標題狀態...但我希望所有field_ *和電子郵件都顯示在結果中 – acctman

相關問題