错误的SQL:SELECT COUNT( * ) AS c
FROM ecm_member member
LEFT JOIN ecm_store s ON member.user_id = s.store_id
LEFT JOIN ecm_user_priv user_priv ON member.user_id = user_priv.user_id
AND user_priv.store_id = '0'
WHERE 1 =1
AND member.zzs >7 MySQL 返回: #1054 - Unknown column 'member.zzs' in 'where clause' 
关键在于 and member.zzs>7 这是我自定的查询范围,前面的SQL语句最好不要动。 其中zzs是ecm_member表中的字段。如果能用like来加条件,例如  zzs>3 and zzs<7 来查询就更好了。可我试了 like %zzs>3 and zzs<7% 无结果。请指教

解决方案 »

  1.   

    楼主没把需求说清楚。SQL写得很神奇, like %zzs....这种是禁招,懂么?触发不了索引的。危险举动
      

  2.   

    感谢你的回复,现在语句的前面是固定的,即
    SELECT COUNT( * ) AS c
    FROM ecm_member member
    LEFT JOIN ecm_store s ON member.user_id = s.store_id
    LEFT JOIN ecm_user_priv user_priv ON member.user_id = user_priv.user_id
    AND user_priv.store_id = '0'
    WHERE 1 =1我要在以上固定的语句后面加查询条件,(受本身php程序的限制也只能在上面固定后语句后面再加)分别查询例如以下几种情况,
    ecm_member字段中的zzs<3的,zzs>3 and zzs<8, zzs>8请指教
      

  3.   

    你的东西加上:
    where ecm_member.zzs!=3,ecm_member.zzs!=8