2010-11-03 22 views
0
SELECT a.id, a.name, a.ad, c.name, c.phone, c.email, 
    (
     SELECT b.id_user 
     FROM price_b b 
     WHERE b.id = a.id 
     ORDER BY b.date DESC 
     LIMIT 1 
    ) AS f_user_id 
    FROM a_emtp a 
    LEFT JOIN customer c ON 
    c.id = f_user_id 
    WHERE a.show = "1" 

嗨,爲什麼顯示這個錯誤選擇和順序:未知列在「關於條款」的mysql,使用兩個通過,新的價值

感謝

+1

使用f_user_id.id – brumScouse 2010-11-03 09:53:56

+0

你試圖做什麼btw? – brumScouse 2010-11-03 09:55:26

回答

2
SELECT a.id, a.name, a.ad, c.name, c.phone, c.email, 
(
    SELECT b.id_user 
    as f_user_id 
    FROM price_b b 
    WHERE b.id = a.id 
    ORDER BY b.date DESC 
    LIMIT 1 
) 
FROM a_emtp a 
LEFT JOIN customer c ON 
c.id = f_user_id 
WHERE a.show = "1" 

您可以參考標有「f_user_id」來自外部查詢內部的子查詢的字段。你甚至可以放棄重新標記,只使用「b.id_user」。

0

可能是c.email後面的逗號丟失。

SELECT a.id, a.name, a.ad, c.name, c.phone, c.email, 
(
    SELECT b.id_user 
    FROM price_b b 
    WHERE b.id = a.id 
    ORDER BY b.date DESC 
    LIMIT 1 
) AS f_user_id 
FROM a_emtp a 
LEFT JOIN customer c ON 
c.id = f_user_id 
WHERE a.show = "1"