Sql server 2008 r2 “多部分标识符”;T“SBIL”AD“Data.lab”displayName“;无法约束

Sql server 2008 r2 “多部分标识符”;T“SBIL”AD“Data.lab”displayName“;无法约束,sql-server-2008-r2,Sql Server 2008 R2,我在数据库中创建了一个名为T_AD_Data的新表,当时我正试图将该表连接到V_ALL。获取错误 SELECT case V_ALL.JOB_qty_BlankPages when 0 then V_ALL.JOB_qty_BWPages + V_ALL.JOB_qty_ColorPages + (V_ALL.JOB_qty_BlankPages + ((V_ALL.JOB_qty_SimplexPages + V_ALL.JOB_qty_DuplexPages * 2) - (V_ALL.J

我在数据库中创建了一个名为T_AD_Data的新表,当时我正试图将该表连接到V_ALL。获取错误

SELECT case V_ALL.JOB_qty_BlankPages when 0

then V_ALL.JOB_qty_BWPages + V_ALL.JOB_qty_ColorPages + (V_ALL.JOB_qty_BlankPages + ((V_ALL.JOB_qty_SimplexPages + V_ALL.JOB_qty_DuplexPages * 2) - (V_ALL.JOB_qty_BWPages + V_ALL.JOB_qty_ColorPages)))

else

V_ALL.JOB_qty_BWPages + V_ALL.JOB_qty_ColorPages + V_ALL.JOB_qty_BlankPages

end as PrintedPages,V_ALL.JOB_qty_BWPages as BWPages,V_ALL.JOB_qty_ColorPages as ColorPages,

case V_ALL.JOB_qty_BlankPages when 0 then

V_ALL.JOB_qty_BlankPages + ((V_ALL.JOB_qty_SimplexPages + V_ALL.JOB_qty_DuplexPages * 2) - (V_ALL.JOB_qty_BWPages + V_ALL.JOB_qty_ColorPages))

else V_ALL.JOB_qty_BlankPages

end as BlankPages,V_ALL.JOB_qty_SimplexPages as SimplexPages,


V_ALL.JOB_qty_DuplexPages * 2 as DuplexPages,


V_ALL.JOB_qty_SimplexPages + V_ALL.JOB_qty_DuplexPages as TotalSheets,V_All.JOB_lab_NTDomainName, V_All.Lab_GroupName, V_All.JOB_lab_NTUserName, V_All.Lab_NTFullUserName, V_All.PRINTER_lab_Location, V_All.JOB_lab_DocumentName, V_All.JOB_qty_Size, V_All.JOB_qty_Copies, V_All.JOB_date_Submitted, T_AD_Data.lab_sAMAccountName, T_AD_Data.lab_department, T_AD_Data.lab_physicalDeliveryOfficeName FROM V_ALL JOIN T_AD_Data AD_Data ON V_ALL.JOB_lab_NTUserName=T_AD_Data.lab_displayName;
结果:

Msg 4104, Level 16, State 1, Line 33
The multi-part identifier "T_AD_Data.lab_displayName" could not be bound.
Msg 4104, Level 16, State 1, Line 33
The multi-part identifier "T_AD_Data.lab_sAMAccountName" could not be bound.
Msg 4104, Level 16, State 1, Line 33
The multi-part identifier "T_AD_Data.lab_department" could not be bound.
Msg 4104, Level 16, State 1, Line 33
The multi-part identifier "T_AD_Data.lab_" could not be bound.

前缀
T\u AD\u Data
在任何地方都不存在。您正试图在join中使用它,但在
FROM
子句的任何其他地方都没有这样命名或别名的表。
SELECT的最后三个字段也是如此

看起来可能是
T\u SBIL\u AD\u数据
应别名为
T\u AD\u数据
(而不是
SBIL\u AD\u数据)
,或者您在
from
子句中缺少了整个表/视图

编辑:使用您评论中的其他信息,答案是有一个表
T_AD_Data
,其中包含您在
SELECT
JOIN
中引用的列,但该表不在
from
子句中的任何位置

你需要的是你的FROM子句是这样的

FROM 
    V_ALL 
    <SOME SORTA> JOIN T_AD_Data ON V_ALL.<Some_Field_In_V_All> = T_AD_Data.<Some_Field_In_T_AD_Data>
    JOIN T_SBIL_AD_Data SBIL_AD_Data ON V_ALL.JOB_lab_NTUserName = T_AD_Data.lab_displayName
来自
V_ALL
在V_ALL上加入T_AD_数据。=T_AD_数据。
在V_ALL.JOB_lab_NTUserName=T_AD_Data.lab_displayName上加入T_SBIL_AD_数据SBIL_AD_数据
需要明确的是,
是根据实际数据和所需结果(即
左侧外部
内部
等)最有意义的任何连接类型的占位符


另外,
V_ALL.
T_AD_数据。
是每个表中实际字段的伪代码占位符。根据您提供的字段名,可能是
V_All.Lab_NTFullUserName
T_AD_Data.Lab_sAMAccountName
,但这只是猜测而已

嗨,乔,这是我的错误,我对sql比较熟悉,有些是用谷歌我创建的查询。我使用T_AD_数据作为表名。如果您不介意,请更正查询并发送给我。如果t_AD_数据是另一个表,您需要将其放入联接中。如果没有关于模式和数据知识的更多细节,我不知道该为缺少的连接匹配哪些字段。即使您为它创建了一个,您也必须告诉我们哪些字段链接到其他表中的其他字段。表:V_ALL,这些列是V_ALL.JOB_lab_NTDomainName、V_ALL.lab_GroupName、V_ALL.JOB_lab_NTUserName、V_ALL.lab_NTFullUserName、V_ALL.PRINTER_lab_Location、V_ALL.JOB_lab_DocumentName、V_ALL.JOB_数量大小、V_ALL.JOB_数量拷贝,V_All.JOB_date_Submitted,表2:T_AD_Data,这些是T_AD_Data.lab_sAMAccountName列,T_SBIL_AD_Data.lab_department,T_AD_Data.lab_physicalDeliveryOfficeName列。请忽略T_SBIL_AD_数据。求和查询工作正常。当我加入第二个表时,我得到了一个错误。嗨,乔,谢谢你的帖子,我得到的是结果中的表名,而不是表中的数据。