SELECT *,flmchz=(SELECT flmc FROM tba_flbm 
        WHERE b.flbm LIKE flbm + '%' and parent=1) FROM tba_flbm  b服务器: 消息 512,级别 16,状态 1,行 1
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
如何修改

解决方案 »

  1.   

    SELECT *,flmchz=(SELECT top 1 flmc FROM tba_flbm 
      WHERE b.flbm LIKE flbm + '%' and parent=1) FROM tba_flbm b
      

  2.   


    select
      *
    from
      tba_flbm a,
      (SELECT flmc FROM tba_flbm  
      WHERE flbm LIKE flbm + '%' and parent=1)b
    where
      a.flmc=b.flmc
      

  3.   


    select
      *
    from
      tba_flbm a,
      (SELECT flmc FROM tba_flbm  
      WHERE flbm LIKE flbm + '%' and parent=1)b
    where
      a.flmc=b.flmc
      

  4.   


    select
      *
    from
      tba_flbm a,
      (SELECT flmc FROM tba_flbm  
      WHERE flbm LIKE flbm + '%' and parent=1)b
    where
      a.flmc=b.flmc
      

  5.   

    加上Top 1或min/max可以過濾/*
    当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式
    */
      

  6.   

    加上Top 1或min/max可以過濾/*
    当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式
    */
      

  7.   

    SELECT b.*,a.flmc FROM tba_flbm b inner join tba_flbm a
    on b.flbm LIKE a.flbm + '%' and a.parent=1