2014-02-22 43 views
-2

請幫助解決與下面的查詢問題:列是不明確的錯誤

$sql = "SELECT email_id as name, competition_id, end_date FROM " . DB_PREFIX . "competition_winners, competition WHERE". DB_PREFIX . " competition.competition_id = ". DB_PREFIX ."competition_winners.competition_id"; 

我收到以下錯誤: 注意:錯誤:列字段列表「competition_id」不明確 錯誤編號: 1052 我正在使用opencart。我該如何解決它?

+0

請谷歌你錯誤。這很容易 –

+0

這是很容易濫用的問題,我試圖谷歌它仍然沒有找到任何解決方案的問題 – user3340565

+0

你是谷歌?告訴我們你嘗試過的所有事情? –

回答

0

試試這個:

$sql = "SELECT email_id as name, c.competition_id, end_date FROM " . DB_PREFIX . "competition_winners cw, competition c WHERE cw.competition_id = c.competition_id"; 

錯誤的原因是,兩個標籤le有'competition_id'字段。所以你需要指定category_id字段的表名。

0

更多的表具有相同的列名稱competition_id。

嘗試前綴他們在您的查詢:

$sql = "SELECT email_id as name, c.competition_id as competition_id, end_date FROM " . DB_PREFIX . "competition_winners cw, competition c WHERE". DB_PREFIX . " competition.competition_id = ". DB_PREFIX ."competition_winners.competition_id"; 
+0

這裏我也收到一個未知的列錯誤。 – user3340565

+0

請分享'SHOW CREATE TABLE competition'的輸出結果 – rkosegi

0

由於您的列competition_id是在一個以上的表,則需要用表alias預先考慮到避免錯誤

SELECT competition_winners.email_id as name, competition.competition_id, competition.end_date 
FROM " . DB_PREFIX . "competition_winners as competition_winners, 
    ". DB_PREFIX . "competition as competition 
WHERE competition.competition_id = competition_winners.competition_id"; 
+0

我收到未知的列錯誤 – user3340565

+0

錯誤狀態是什麼?請過去整個錯誤 – Fabio

+0

注意:錯誤:'where子句'中未知列'competition.competition_id' 錯誤號:1054 SELECT email_id as name,c.competition_id as competition_id,end_date FROM competition_winners cw,competition c WHERE competition.competition_id = competition_winners.competition_id ORDER BY名字ASC LIMIT 0,20在C:\ xampp \ htdocs \ sport \ system \ database \ mysql.php在線49 – user3340565