2010-11-03 23 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"