列名 不明确。

harddream 2007-11-08 07:58:17
CREATE VIEW dbo.AttCountView
AS

SELECT * 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' 不明确。
怎么处理
谢谢
...全文
2377 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
eagledame 2008-11-10
  • 打赏
  • 举报
回复
Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]列名 'item_id' 不明确。各位大侠 最近也出现这问题了, 在使用表内联的时候 总是报着个错 好郁闷的
正牌风哥 2007-11-11
  • 打赏
  • 举报
回复
select a.*,b.* from a join b on a.id=b.id

--查询时没有问题,生成视图不行,列名不能重复
xing_8888_good 2007-11-11
  • 打赏
  • 举报
回复
这个问题很好解决的!

代码各位高手都已经写了!
我就举个简单的例子吧!


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
pt1314917 2007-11-11
  • 打赏
  • 举报
回复

服务器: 消息 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
harddream 2007-11-08
  • 打赏
  • 举报
回复
我有个一个视图和一张表
视图和表的字段不一样,但是有个字段是一样的。我在建立一个视图,从这个视图和表里取数据,条件是 视图有和有个表里一样的字段就取出来

CREATE VIEW dbo.AttCountView
AS

SELECT * 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 ' 不明确。
中国风 2007-11-08
  • 打赏
  • 举报
回复
指定列名显示
中国风 2007-11-08
  • 打赏
  • 举报
回复
CREATE   VIEW   dbo.AttCountView   
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
中国风 2007-11-08
  • 打赏
  • 举报
回复
Shitname\Employeeid
在两个表有存,指定列名
qqhmitzk 2007-11-08
  • 打赏
  • 举报
回复
在各表的有相同的Shitname,Employeeid 字段
在查询中Shitname,Employeeid 加上各自的表名

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧