日期:2014-05-17  浏览次数:20557 次

新问题!子查询返回的值多于一个。
SQL code

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
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。


------解决方案--------------------
子查询的问题返回的不只是行记录。
------解决方案--------------------
把=改成in