select CURRENCY_CenterUnit.BarCord, CURRENCY_Center.Title, CURRENCY_Center.Author, CURRENCY_Center.Publisher, CURRENCY_Center.ISBN, CURRENCY_Center.PublishDate, CURRENCY_CenterUnit.Price, CURRENCY_Center.LIBNum, CURRENCY_Center.LIBCord, CURRENCY_CenterUnit.LawInfo, count(distinct CURRENCY_CenterUnit.ControlCord) as 本数from CURRENCY_CenterUnit,CURRENCY_Center
GROUP BY CURRENCY_CenterUnit.ControlCord ,
  CURRENCY_CenterUnit.BarCord ,
  CURRENCY_Center.Title ,
  CURRENCY_Center.Author ,
  CURRENCY_Center.Publisher ,
  CURRENCY_Center.ISBN ,
  CURRENCY_Center.PublishDate ,
  CURRENCY_CenterUnit.Price ,
  CURRENCY_Center.LIBNum ,
  CURRENCY_Center.LIBCord ,
  CURRENCY_CenterUnit.LawInfo
HAVING CURRENCY_CenterUnit.ControlCord = (select ControlCord from CURRENCY_CenterUnit where lawinfo='光盘库')服务器: 消息 512,级别 16,状态 1,行 1
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。

解决方案 »

  1.   

    SELECT  CURRENCY_CenterUnit.ControlCord ,
            CURRENCY_CenterUnit.BarCord ,
            CURRENCY_Center.Title ,
            CURRENCY_Center.Author ,
            CURRENCY_Center.Publisher ,
            CURRENCY_Center.ISBN ,
            CURRENCY_Center.PublishDate ,
            CURRENCY_CenterUnit.Price ,
            CURRENCY_Center.LIBNum ,
            CURRENCY_Center.LIBCord ,
            CURRENCY_CenterUnit.LawInfo ,
            COUNT(DISTINCT CURRENCY_CenterUnit.ControlCord) AS 本数
    FROM    CURRENCY_CenterUnit ,
            CURRENCY_Center
    WHERE   CURRENCY_CenterUnit.ControlCord = CURRENCY_Center.ControlCord
            AND CURRENCY_CenterUnit.lawinfo = '光盘库'
    GROUP BY CURRENCY_CenterUnit.ControlCord ,
            CURRENCY_CenterUnit.BarCord ,
            CURRENCY_Center.Title ,
            CURRENCY_Center.Author ,
            CURRENCY_Center.Publisher ,
            CURRENCY_Center.ISBN ,
            CURRENCY_Center.PublishDate ,
            CURRENCY_CenterUnit.Price ,
            CURRENCY_Center.LIBNum ,
            CURRENCY_Center.LIBCord ,
            CURRENCY_CenterUnit.LawInfo
      

  2.   

    select ControlCord from CURRENCY_CenterUnit where lawinfo='光盘库'返回了多个值,赋值给CURRENCY_CenterUnit.ControlCord 出错
      

  3.   


    SELECT  CURRENCY_CenterUnit.ControlCord ,
            CURRENCY_CenterUnit.BarCord ,
            CURRENCY_Center.Title ,
            CURRENCY_Center.Author ,
            CURRENCY_Center.Publisher ,
            CURRENCY_Center.ISBN ,
            CURRENCY_Center.PublishDate ,
            CURRENCY_CenterUnit.Price ,
            CURRENCY_Center.LIBNum ,
            CURRENCY_Center.LIBCord ,
            CURRENCY_CenterUnit.LawInfo ,
            COUNT(DISTINCT CURRENCY_CenterUnit.ControlCord) AS 本数
    FROM    CURRENCY_CenterUnit ,
            CURRENCY_Center
    WHERE   CURRENCY_CenterUnit.ControlCord = CURRENCY_Center.ControlCord
            AND CURRENCY_CenterUnit.lawinfo = '光盘库'
    GROUP BY CURRENCY_CenterUnit.ControlCord ,
            CURRENCY_CenterUnit.BarCord ,
            CURRENCY_Center.Title ,
            CURRENCY_Center.Author ,
            CURRENCY_Center.Publisher ,
            CURRENCY_Center.ISBN ,
            CURRENCY_Center.PublishDate ,
            CURRENCY_CenterUnit.Price ,
            CURRENCY_Center.LIBNum ,
            CURRENCY_Center.LIBCord ,
            CURRENCY_CenterUnit.LawInfo