【问题标题】:SQL / SSRS: The multi-part identifier " " could not be boundSQL / SSRS:无法绑定多部分标识符“”
【发布时间】:2014-01-31 22:47:43
【问题描述】:

处理当前包含在两个数据集的两列中的报告,大坝试图将数据集组合成一个查询。当我执行以下查询时,我得到 The multi-part identifier "fa.InternalUserID" could not be bound。

--TST Group
SELECT        A.AuditID, 
A.FileID, 
A.Description, 
A.UserID, 
IU.FirstName + ' ' + IU.LastName AS UserName, 
FM.FileNumber, 
SWITCHOFFSET(CONVERT(datetimeoffset, A.Date),'-05:00') AS 'LocalDateTime', 
CONVERT(VARCHAR(10), A.Date, 101) AS 'Date', 
CONVERT(VARCHAR(10), A.Date, 14) AS 'UnadjustedTime',
COUNT(FA.FileActionsID) AS ActionCount
FROM            FileMain fm
INNER JOIN InternalUser AS IU ON fa.InternalUserID = IU.InternalUserID 
JOIN FileActions FA on FA.FileID = FM.FileID
LEFT OUTER JOIN Audit AS A ON A.FileID = FM.FileID
WHERE        (FM.OfficeID = 1) 
AND (A.Description = 'File Opened' 
OR A.Description = 'File Closed') 
AND (A.Date >= GETDATE() - 2) 
AND (IU.InternalUserID IN 
    (
--ID's go here
    )
)
ORDER BY UserName, A.AuditID

这是我合并的原始两个查询:

--TST Group
SELECT        A.AuditID, 
A.FileID, 
A.Description, 
A.UserID, 
IU.FirstName + ' ' + IU.LastName AS UserName, 
FM.FileNumber, 
SWITCHOFFSET(CONVERT(datetimeoffset, A.Date),'-05:00') AS 'LocalDateTime', 
CONVERT(VARCHAR(10), A.Date, 101) AS 'Date', 
CONVERT(VARCHAR(10), A.Date, 14) AS 'UnadjustedTime',
COUNT(FA.FileActionsID) AS ActionCount
FROM            Audit AS A 
INNER JOIN InternalUser AS IU ON A.UserID = IU.InternalUserID 
LEFT OUTER JOIN FileMain AS FM ON A.FileID = FM.FileID
WHERE        (FM.OfficeID = 1) 
AND (A.Description = 'File Opened' 
OR A.Description = 'File Closed') 
AND (A.Date >= GETDATE() - 2) 
AND (IU.InternalUserID IN 
    (
--ID's Go here
    )
)
ORDER BY UserName, A.AuditID

SELECT        IU.FirstName AS NAME, 
COUNT(FA.FileActionsID) AS ActionCount
FROM            FileActions AS FA 
INNER JOIN InternalUser AS IU ON FA.ReceivedUserID = IU.InternalUserID
WHERE        (FA.ReceivedDate > GETDATE() - 0) 
AND (FA.ReceivedUserID IN   (
--ID's go here
    )
)
GROUP BY IU.FirstName

【问题讨论】:

    标签: sql sql-server visual-studio reporting-services ssrs-2008


    【解决方案1】:

    您的连接顺序错误。目前,当您只提到 FileMainInternalUser(按此顺序)时,您正在尝试加入 InternalUserFileActions - 您无法针对尚未引入的表指定条件加入:

    FROM            FileMain fm
    INNER JOIN InternalUser AS IU ON fa.InternalUserID = IU.InternalUserID 
    JOIN FileActions FA on FA.FileID = FM.FileID
    LEFT OUTER JOIN Audit AS A ON A.FileID = FM.FileID
    

    应该是(obligatory schema prefixes added):

    FROM dbo.FileMain fm
    INNER JOIN dbo.FileActions FA on FA.FileID = FM.FileID
    INNER JOIN dbo.InternalUser AS IU ON FA.InternalUserID = IU.InternalUserID 
    LEFT OUTER JOIN dbo.Audit AS A ON A.FileID = FM.FileID
    

    【讨论】:

      猜你喜欢
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      • 2022-11-19
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多