一下是该表建立脚本
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[AFN0DF21]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[AFN0DF21]
GOCREATE TABLE [dbo].[AFN0DF21] (
[ADDR] [varchar] (8) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[PN] [numeric](2, 0) NOT NULL ,
[M0] [datetime] NOT NULL ,
[M1] [numeric](3, 0) NULL ,
[M2] [numeric](8, 4) NULL 
) ON [PRIMARY]
GO一下是视图的建立脚本
SELECT dbo.AFN0DF21.ADDR, dbo.AFN0DF21.PN, dbo.AFN0DF21.M0, 
      dbo.AFN0DF21.M2 AS M1, AFN0DF21_1.M2 AS M4, AFN0DF21_2.M2, 
      AFN0DF21_3.M2 AS M3
FROM dbo.AFN0DF21 INNER JOIN
      dbo.AFN0DF21 AFN0DF21_1 ON dbo.AFN0DF21.ADDR = AFN0DF21_1.ADDR AND 
      dbo.AFN0DF21.PN = AFN0DF21_1.PN AND 
      dbo.AFN0DF21.M0 = AFN0DF21_1.M0 INNER JOIN
      dbo.AFN0DF21 AFN0DF21_2 ON dbo.AFN0DF21.ADDR = AFN0DF21_2.ADDR AND 
      dbo.AFN0DF21.PN = AFN0DF21_2.PN AND 
      dbo.AFN0DF21.M0 = AFN0DF21_2.M0 INNER JOIN
      dbo.AFN0DF21 AFN0DF21_3 ON dbo.AFN0DF21.ADDR = AFN0DF21_3.ADDR AND 
      dbo.AFN0DF21.PN = AFN0DF21_3.PN AND 
      dbo.AFN0DF21.M0 = AFN0DF21_3.M0
WHERE (dbo.AFN0DF21.M1 = 0) AND (AFN0DF21_1.M1 = 1) AND (AFN0DF21_2.M1 = 2) AND 
      (AFN0DF21_3.M1 = 3)
一下是该设计含义
表如下时间      类型     数据
2005-6    费率一   11.1
2005-6    费率二   22.2
2005-6    费率三   33.3
2005-6    费率四   44.4
2005-6    费率五   55.5我要得到的结果是时间    费率一    费率二   费率三   费率四   费率五
2005-6  11.1       22.2    33.3     44.4      55.5
以上已经实现查询部分,但当通过视图更新、增加一条的时候提示“[microsoft][odbc sql server driver][sql server]在结果列的列表中多次出现列名‘m2’”请高手帮忙解决。