0

こんにちは、次のクエリを実行しようとしていますが、うまくいきません:

SELECT AA.Id, AA.ObjId, AA.NsId, AA.statusId, AA.LCID, AA.Title, AA.MessageBody_ClearText, AA.MessageBody_HTMLText, 
               AA.File1, AA.File2, AA.File3, AA.Status, AA.name, AA.createdate, AA.updatedate, AA.boneid, AA.main, AA.Sort, 
               BB.ID AS Expr1, BB.MainIDNum, BB.MessageID, BB.Message1, BB.Message2, BB.Message3, BB.MessageDate, 
               BB.AttachmentGUID1, BB.AttachmentGUID2, CC.MessageID AS Expr2, CC.Identification, CC.Viewed, CC.Deleted, CC.Id AS Expr3, 
               AA.FileName1, AA.FileName2, AA.FileName3
FROM  dbo.gnvw_ObjectsBones AS AA INNER JOIN
              --- XXX.dbo.MESSAGES AS BB ON BB.MessageID = AA.ObjId LEFT OUTER JOIN ---
               dbo.PersonalMessages AS CC ON CC.MessageID = BB.MessageID AND CC.Identification = BB.MainIDNum

マークされた行は関数呼び出しに変更する必要があります。int 'input' を受け取る 'GetMessages' という関数があり、それは 'CC.Identification' でなければならないので、それを置き換えようとしましたこのようになる:

SELECT AA.Id, AA.ObjId, AA.NsId, AA.statusId, AA.LCID, AA.Title, AA.MessageBody_ClearText, AA.MessageBody_HTMLText, 
               AA.File1, AA.File2, AA.File3, AA.Status, AA.name, AA.createdate, AA.updatedate, AA.boneid, AA.main, AA.Sort, 
               BB.ID AS Expr1, BB.MainIDNum, BB.MessageID, BB.Message1, BB.Message2, BB.Message3, BB.MessageDate, 
               BB.AttachmentGUID1, BB.AttachmentGUID2, CC.MessageID AS Expr2, CC.Identification, CC.Viewed, CC.Deleted, CC.Id AS Expr3, 
               AA.FileName1, AA.FileName2, AA.FileName3
FROM  dbo.gnvw_Data_PersonalMessages_ObjectsBones AS AA INNER JOIN
               XXX.dbo.GetMessages(CC.Identification) AS BB ON BB.MessageID = AA.ObjId LEFT OUTER JOIN
               dbo.PersonalMessages AS CC ON CC.MessageID = BB.MessageID AND CC.Identification = BB.MainIDNum

他の解決策も試しましたが、どれもうまくいきませんでした。ここで誰かが問題を見ていますか? これは、その「ソリューション」を実行したときに発生するエラーです。

「マルチパート識別子「CC.Identification」をバインドできませんでした。」

と、

「列名 'ID' が無効です。」SQL は私の得意分野ではありません。解決策があれば喜んでお聞きします。正しく説明できれば幸いです。

4

1 に答える 1