CREATE VIEW dbo.AttCountView
ASSELECT * FROM dbo.CheckView3 INNER JOIN TempDateShit ON
CheckView3.SetDate=TempDateShit.DateSet And CheckView3.ShiftId=TempDateShit.EmpShitFlag
And CheckView3.EmployeeId=TempDateShit.Employeeid
Go
服务器: 消息 209,级别 16,状态 1,过程 AttCountView,行 5
列名 'Shitname' 不明确。
服务器: 消息 209,级别 16,状态 1,过程 AttCountView,行 5
列名 'Employeeid' 不明确。
怎么处理
谢谢
ASSELECT * FROM dbo.CheckView3 INNER JOIN TempDateShit ON
CheckView3.SetDate=TempDateShit.DateSet And CheckView3.ShiftId=TempDateShit.EmpShitFlag
And CheckView3.EmployeeId=TempDateShit.Employeeid
Go
服务器: 消息 209,级别 16,状态 1,过程 AttCountView,行 5
列名 'Shitname' 不明确。
服务器: 消息 209,级别 16,状态 1,过程 AttCountView,行 5
列名 'Employeeid' 不明确。
怎么处理
谢谢
在查询中Shitname,Employeeid 加上各自的表名
在两个表有存,指定列名
AS SELECT
[Shitname1]=CheckView3.Shitname ,
[Shitname2]=TempDateShit.Shitname,
[Employeeid1]=CheckView3.Employeeid,
[Employeeid2]=TempDateShit.Employeeid,
.........FROM
dbo.CheckView3
INNER JOIN
TempDateShit ON CheckView3.SetDate=TempDateShit.DateSet And CheckView3.ShiftId=TempDateShit.EmpShitFlag
And CheckView3.EmployeeId=TempDateShit.Employeeid
视图和表的字段不一样,但是有个字段是一样的。我在建立一个视图,从这个视图和表里取数据,条件是 视图有和有个表里一样的字段就取出来CREATE VIEW dbo.AttCountView
ASSELECT * FROM dbo.CheckView3 INNER JOIN TempDateShit ON
CheckView3.SetDate<>TempDateShit.DateSet And CheckView3.ShiftId<>TempDateShit.EmpShitFlag
And CheckView3.EmployeeId<>TempDateShit.Employeeid Go
服务器: 消息 209,级别 16,状态 1,过程 AttCountView,行 5
列名 'Shitname ' 不明确。
服务器: 消息 209,级别 16,状态 1,过程 AttCountView,行 5
列名 'Employeeid ' 不明确。
服务器: 消息 209,级别 16,状态 1,过程 AttCountView,行 5
列名 'Shitname ' 不明确。
服务器: 消息 209,级别 16,状态 1,过程 AttCountView,行 5
列名 'Employeeid ' 不明确。
----------------------------------
错误信息是因为楼主的CheckView3和TempDateShit表中都存在Shitname、Employeeid这两个字段,所以需要在这两个字段前面指定表名。
如:
CREATE VIEW dbo.AttCountView
AS SELECT CheckView3.Shitname,CheckView3.Employeeid,.... FROM dbo.CheckView3 INNER JOIN TempDateShit ON
CheckView3.SetDate <> TempDateShit.DateSet And CheckView3.ShiftId <> TempDateShit.EmpShitFlag
And CheckView3.EmployeeId <> TempDateShit.Employeeid
我就举个简单的例子吧!
select a.*,b.* from a join b on a.id=b.id
这个是可以行的通了!如果 select id from a join b on a.id=b.id就会出现你所说的问题!总结:如果你要查询两个表,表中都有相同的字段,而你不指定哪个表的,所以会抱错!select a.id from a join b on a.id=b.id //ok