2012-05-30 62 views
7

可能性の重複:
The multi-part identifier could not be boundマルチパート識別子はバインドできませんでした

これは動作するように望んでいない私のクエリです。

マルチパート識別子「dbo.RunSequenceBatch.RunSequenceBatchName」はバインドできませんでした。

助言してください。

ありがとうございます!!! :)

SELECT '30 May' AS [Date], 
[RunSeq].[RunSequenceBatchName] AS [Batch Job Name] , 
RunSeqCat.CategoryDescription AS [Development Name] , 
[Systems].SystemName AS [System Area] , 
CAST((SUM(DumpSM37_Env3.Duration)/60) AS NUMERIC(10, 2)) AS [Duration (mins)] 
FROM [dbo].[RunSequenceBatch] AS RunSeq 
LEFT JOIN DumpSM37_Env3 ON ([RunSeq].[RunSequenceBatchName] = DumpSM37_Env3.[Job] 
AND DumpSM37_Env3.[ImportDate] BETWEEN '30 May 2012 00:00:00' AND '30 May 2012 23:59:59'), 
[dbo].[RunSequenceType] AS RunSeqType, 
[dbo].[RunSequenceFrequency] AS RunSeqFrequency, 
RunSequenceCategory AS RunSeqCat, Category, [Systems] 
WHERE RunSeq.Status = 'Active' 
AND RunSeqFrequency.RunSequenceBatchID = RunSeq.RunSequenceBatchID 
AND RunSeq.RunSequenceTypeID = RunSeqType.RunSequenceTypeID 
AND RunSeqCat.CategoryDescription = Category.Description 
AND Category.SystemArea = [Systems].SystemID 
AND DumpSM37_Env3.[Duration] > 0 
AND RunSeq.RunSequenceTypeID = 1 
AND RunSeqCat.RunSequenceBatchID = RunSeq.RunSequenceBatchID 
GROUP BY dbo.RunSequenceBatch.RunSequenceBatchName, DumpSM37_Env3.WorkerProcessID, 
ORDER BY [RunSeqFrequency].[Frequency] ASC, 
[RunSeqFrequency].[StartTime] ASC 
+0

タイプミスの可能性がありますが、RunSeq.RunSequenceBatchNameがあり、さらにクエリRunSequence.RunSequenceBatchNameがあります。異なる名前で同じに見えますか? –

+0

クエリのテーブルに短いエイリアスを使用することを検討してください。これにより、クエリをより読みやすく(自分自身にも)させることができ、そのようなエラーをより簡単に見つけることができます。 –

答えて

13

基本的には、テーブル名が一致していません。

FROM [dbo].[RunSequenceBatch] AS RunSeq 

あなたは言い換えれば[dbo].[RunSequenceBatch]をエイリアシングしている、あなたはここからが、[dbo].[RunSequenceBatch]

RunSeqとしてではなく、自分の中で参照されることを明記している:あなたの FROMあなたが持っているで

GROUP BYあなたはエイリアスを使ってそれを参照しません。クエリ内の唯一の公開された名前の別名であるdbo.RunSequenceBatchはバインドできません。

変更

GROUP BY dbo.RunSequenceBatch.RunSequenceBatchName 

GROUP BY RunSeq.RunSequenceBatchName 

にそして、あなたは大丈夫です。

+0

大きな説明。特に「言い換えれば、あなたはここから、[dbo]。[RunSequenceBatch]をRunSeqと呼びます –

関連する問題