【发布时间】:2014-01-05 18:38:16
【问题描述】:
我尝试在 SQL 中创建计数查询,并尝试在任何用户在 asp.net 中上传新文档时向主管、经理和主管显示通知
查询
ALTER procedure [dbo].[countdocuments]
@DepID int
as
SELECT
COUNT(*),
Designation.DesigID
FROM DocumentInfo
INNER JOIN dbo.Userss ON dbo.Userss.DesigID = dbo.Designation.DesigID
WHERE
Userss.DesigID = 'Finance'
但是当我执行它时,出现以下错误
消息 4104,级别 16,状态 1,过程计数文档,第 7 行
无法绑定多部分标识符“dbo.Designation.DesigID”。
消息 4104,级别 16,状态 1,过程计数文档,第 5 行
无法绑定多部分标识符“Designation.DesigID”。
好的,这是我的designation 表
DesigID DesigType
1 SuperVisor
2 Manager
3 Director
4 BasicUsers
这是documentinfo 表
DocID DocDescrit DocName UploadedDate Uploadfile DocTypeID DepID ApproveID UploadedBy UserID
32 asp.net codescomputer 2013-12-30 22:30:00.623 details.docx 1 2 1amna 24
这是userss 表
UserID UserName Password UserTypeID DepID CreateDate Email PhoeNumber DesigID
21 john abc 2 NULL NULL 2013-12-02 22:01:03.903 NULL abc@hotmail.com 12313 4
当我尝试这个查询时
ALTER procedure [dbo].[countdocuments]
@DepID int
as
BEGIN
SET NOCOUNT ON;
SELECT
COUNT(*) AS Cnt, Designation.DesigID
FROM
Designation
INNER JOIN
dbo.Userss ON dbo.Userss.DesigID = dbo.Designation.DesigID
WHERE
Userss.DesigID = @DepID
GROUP BY
Designation.DesigID
END
当我尝试像 @depid = 4 一样执行时,这显示我这样,我不明白 4 来自哪里..
Cnt DesigID
4 4
【问题讨论】:
-
+5 :O 没有人回答我... :/
-
这是因为它无法在表 Designation 中找到列名 DesigId。指定表在哪里?或者您是否打算将 DocumentInfo 的别名作为 Designation 表
-
你能提供架构吗?
-
在文档信息表中没有名为 desigid 的列 ..desigid 仅在 userss 表中,在设计表中有两列,一列是 desigid,另一列是 designtype
标签: sql sql-server count