得到mysql错误1054

时间:2011-07-22 11:26:50

标签: mysql database mysql-error-1054

我收到此错误:#1054 - 'on clause'中的未知列't.mobile'

SELECT t.*,v.name,v.contact_person_email,l.firstname as memname 
FROM transactions t , vendor v
LEFT JOIN loyalty_members l ON (t.mobile=l.mobile) 
WHERE t.vendor_id ='N1WU95' 
AND v.alert_mail = '2'
AND t.add_date  <= '2011-07-22 09:00:00'
AND t.add_date >= '2011-07-21 09:00:00'
AND t.vendor_id = v.id
AND t.type = '1' 
AND t.deleted != '1'
AND t.reference_id = '0'
GROUP BY t.mobile 
HAVING COUNT(t.mobile) > 1;

有谁可以帮我解决这个问题?

感谢。

2 个答案:

答案 0 :(得分:6)

尝试:

   SELECT t.*, v.name, v.contact_person_email, l.firstname memname 
     FROM vendor v, transactions t
LEFT JOIN loyalty_members l ON t.mobile = l.mobile 
    WHERE t.vendor_id ='N1WU95' 
      AND v.alert_mail = '2'
      AND t.add_date  <= '2011-07-22 09:00:00' 
      AND t.add_date >= '2011-07-21 09:00:00' 
      AND t.vendor_id = v.id 
      AND t.type = '1' 
      AND t.deleted != '1' 
      AND t.reference_id = '0' 
 GROUP BY t.mobile 
   HAVING COUNT(t.mobile) > 1;

您正在使用错误的表序列执行LEFT JOIN。引擎正在尝试将vendor表加入loyalty_members表。

答案 1 :(得分:1)

简单地说,表transactions中的“移动”列不存在。