SELECT * from hxlt_equipment where id IN (SELECT equipment_id from  hxlt_terminal_equipment WHERE te_id='0512010001')   为什么这sql语句在mysql中失效,请问在mysql该怎么写??

解决方案 »

  1.   

    语句应该没什么错.在MYSQL里也是可以用IN()的.
    你单独执行一下后面IN子查询的那句,看是否能查出记录.
      

  2.   

    单独查有数据 ,连着查就变成空的了,不知道mysql是不是不是那么写的,还是?
      

  3.   

    是这样写的.
    你把查出来的 
    equipment_id 
    写在
    SELECT * from hxlt_equipment where id IN ( )
    后面的括号里试试
      

  4.   

    SELECT  *
    FROM    hxlt_equipment
    WHERE   id IN ( SELECT  equipment_id
                    FROM    hxlt_terminal_equipment
                    WHERE   te_id = '0512010001' )
    没有发现问题,你这两个字段是同一数据类型的吗?
      

  5.   

    不是的,一个是int型一个事string型的 
      

  6.   

    SELECT  *
    FROM    hxlt_equipment
    WHERE   ltrim(id) IN ( SELECT  equipment_id
                    FROM    hxlt_terminal_equipment
                    WHERE   te_id = '0512010001' )