查询语句如下:
 SELECT A.ID_COMPANY,
B.VR_COM_ENGNAME
FROM TB_RS_R_RATEITEM_ACCOUNT A, TB_COMPANY B
WHERE A.ID_RATEITEM=rateitemId
AND A.ID_COMPANY=B.ID_COMPANY
AND B.EM_COM_DELFLAG='F'
AND B.VR_COM_ENGNAME;注:rateitemId 为传进来的参数 int类型 
AND B.VR_COM_ENGNAME 这个字段在where 条件中是起到什么作用呢?另外我测试:
1 SELECT * FROM TB_JOB WHERE ID_JOB ;
2  SELECT * FROM TB_JOB WHERE 1;
1 和2 两条语句执行 
可以查出来所有的TB_JOB中的数据 (ID_JOB为int类型)3 SELECT * FROM TB_JOB WHERE VR_JOB_AGENT_CODE ;
4 SELECT * FROM TB_JOB WHERE 0 ;
执行3 和 4 这两条语句 
查出来为空 一条记录也没有(VR_JOB_AGENT_CODE 为varchar类型)
请教大家 帮忙看下
这两点涉及mysql什么语法规则 
感谢....

解决方案 »

  1.   

    AND B.VR_COM_ENGNAME 这个字段在where 条件中是起到什么作用呢?
    连接条件限制另外我测试:
    1 SELECT * FROM TB_JOB WHERE ID_JOB ;
    2 SELECT * FROM TB_JOB WHERE 1;
    1 和2 两条语句执行  
    可以查出来所有的TB_JOB中的数据
    1与2是等同的写法不同而已。
    3与4同样
      

  2.   

    这个写法是错误的写法哦 
    因为VR_COM_ENGNAME 是varchar 类型的 这样是查不出来数据的哦 
      

  3.   


    请教一下 他有什么限制作用? 
    它只是TB_COMPANY B 表中的一个字段 
    并没有值的判断(比如AND B.VR_COM_ENGNAME='xxx' )哦
    这样也能起到判断作用吗 
    烦请赐教啊