Select  B.FCompanyID,B.Fname,B.fnumber,B.年,B.月,A.*  From
(Select FCompanyID ,
       sum(isnull([1001_qc],0)),
       sum(isnull([1001_qm],0)),
       sum(isnull([1002_qc],0)),
       sum(isnull([1002_qm],0)),
       sum(isnull([1003_qc],0)),
       sum(isnull([1003_qm],0)),
       sum(isnull([1004_qc],0)),
       sum(isnull([1004_qm],0)),
       sum(isnull([1005_qc],0)),
       sum(isnull([1005_qm],0)),
       sum(isnull([1006_qc],0)),
       sum(isnull([1006_qm],0)) 
From aaaa Where FCompanyID in ('1','2','3') Group By FCompanyID With Rollup) as A inner join  (Select  FCompanyID,fname,fnumber,年,月 From aaaa ) as B 
on A.FCompanyID = B.FCompanyID错误为:服务器: 消息 8155,级别 16,状态 2,行 1
没有为第 2 列(属于 'A')指定列。
服务器: 消息 8155,级别 16,状态 1,行 1
没有为第 3 列(属于 'A')指定列。
服务器: 消息 8155,级别 16,状态 1,行 1
没有为第 4 列(属于 'A')指定列。
服务器: 消息 8155,级别 16,状态 1,行 1
没有为第 5 列(属于 'A')指定列。
服务器: 消息 8155,级别 16,状态 1,行 1
没有为第 6 列(属于 'A')指定列。
服务器: 消息 8155,级别 16,状态 1,行 1
没有为第 7 列(属于 'A')指定列。
服务器: 消息 8155,级别 16,状态 1,行 1
没有为第 8 列(属于 'A')指定列。
服务器: 消息 8155,级别 16,状态 1,行 1
没有为第 9 列(属于 'A')指定列。
服务器: 消息 8155,级别 16,状态 1,行 1
没有为第 10 列(属于 'A')指定列。
服务器: 消息 8155,级别 16,状态 1,行 1
没有为第 11 列(属于 'A')指定列。
服务器: 消息 8155,级别 16,状态 1,行 1
没有为第 12 列(属于 'A')指定列。
服务器: 消息 8155,级别 16,状态 1,行 1
没有为第 13 列(属于 'A')指定列。

解决方案 »

  1.   

           sum(isnull([1001_qc],0)) as sum01,
           sum(isnull([1001_qm],0)) as sum02,
           sum(isnull([1002_qc],0)) as sum03,
           sum(isnull([1002_qm],0)) as sum04,
           sum(isnull([1003_qc],0)) as sum05,
           sum(isnull([1003_qm],0)) as sum06,
           sum(isnull([1004_qc],0)) as sum07,
           sum(isnull([1004_qm],0)) as sum08,
           sum(isnull([1005_qc],0)) as sum09,
           sum(isnull([1005_qm],0)) as sum10,
           sum(isnull([1006_qc],0)) as sum11,
           sum(isnull([1006_qm],0)) as sum12 
      

  2.   

    Select  B.FCompanyID,B.Fname,B.fnumber,B.年,B.月,A.*  From
    (Select FCompanyID ,
           sum(isnull([1001_qc],0)) col1,
           sum(isnull([1001_qm],0)) col2,
           sum(isnull([1002_qc],0)) col3,
           sum(isnull([1002_qm],0)) col4,
           sum(isnull([1003_qc],0)) col5,
           sum(isnull([1003_qm],0)) col6,
           sum(isnull([1004_qc],0)) col7,
           sum(isnull([1004_qm],0)) col8,
           sum(isnull([1005_qc],0)) col9,
           sum(isnull([1005_qm],0)) col10,
           sum(isnull([1006_qc],0)) col11,
           sum(isnull([1006_qm],0)) col12  
    From aaaa Where FCompanyID in ('1','2','3') Group By FCompanyID With Rollup) as A inner join  (Select  FCompanyID,fname,fnumber,年,月 From aaaa ) as B 
    on A.FCompanyID = B.FCompanyID
      

  3.   

    try:Select  B.FCompanyID,B.Fname,B.fnumber,B.年,B.月,A.*  From
    (Select FCompanyID ,
           sum(isnull([1001_qc],0))as c1,
           sum(isnull([1001_qm],0))as c2,
           sum(isnull([1002_qc],0))as c3,
           sum(isnull([1002_qm],0))as c4,
           sum(isnull([1003_qc],0))as c5,
           sum(isnull([1003_qm],0))as c6,
           sum(isnull([1004_qc],0))as c7,
           sum(isnull([1004_qm],0))as c8,
           sum(isnull([1005_qc],0))as c9,
           sum(isnull([1005_qm],0))as c10,
           sum(isnull([1006_qc],0))as c11,
           sum(isnull([1006_qm],0))as c12 
    From aaaa Where FCompanyID in ('1','2','3') Group By FCompanyID With Rollup) as A inner join  (Select  FCompanyID,fname,fnumber,年,月 From aaaa ) as B 
    on A.FCompanyID = B.FCompanyID
      

  4.   

    你的服务器是不是SQL 2005? 2000的好像不支持。
      

  5.   

    想到了却没有亲手去试,唉失败
    谢谢各位老大,还有一个细节想问一下:
    由于表A和表B都包含FCompanyID ,因此查询出来会有二列FCompanyID ,但是我想只要B的FCompanyID ,我想A表查询出来的不是A.* 而是去除FCompanyID 列之外的其它全部列呢,要如何处理?
      

  6.   

    这个麻烦,要么一个一个的写.要么对单表而言:例如:userno_fm、userno_to
    create table test(
           num int identity(1,1),
           userno_fm varchar(10),
           userno_to varchar(10),
           username varchar(10))
    select * from testdeclare @sql varchar(8000)
        select @sql=''
        select @sql=@sql+','+[name] from 
        (select [name] from syscolumns where object_id(N'[test]')=[id] and [name] not in ('userno_fm','userno_to')) A    set @sql='select '+stuff(@sql,1,1,'')+' from [test]'
        --print @sql
        exec (@sql)drop table test
      

  7.   

    好吧,先结了吧,有时间dawugui
    兄帮看看这个吧
    http://topic.csdn.net/u/20071104/11/fb5f98df-703b-4106-b827-1b6a7cdda12d.html?seed=1690439268