2011-12-27 4 views
0

次のSQLを使用して3つの単純なテーブルをクエリし、結果を取り戻しています。 SQL Server 2005 EM(使用されているデータベース)でこのクエリを実行すると、正しいレコードセットの結果が返されます。 SQL文やストアドプロシージャを使用してWebページ(ASP)からこれを実行すると、いくつかの列の値が空白になります。また、FROM句で選択されているテーブルの順序を変更すると、前の列のいくつかが空白の値を返すことに気付きました。それを呼び出すときに動作しないために私のSQLに何か問題がありますか?私はローカルで私のアプリを開発し、それは正常に動作します。クライアントのネットワークに展開すると、問題が始まりました...クライアントは、アプリケーションサーバーとしてWin 2000 SP4を実行しています。また、SQL Server 2005データストアを使用してASP 3.0でアプリケーションを開発しています。SQL結合がすべてのフィールド値を返さない。注文が変更されたときに返される異なるフィールド値

SELECT 
Scorecard_Measure.Measure, 
Scorecard_Measure.Target, 
Scorecard_Measure.YTD, 
Scorecard_Measure.Status, 
Scorecard_Measure.Explanation, 
Scorecard_Measure.Division, 
Scorecard_Measure.ZIndex, 
Scorecard_Measure.LastUpdated, 
Scorecard_Measure.ID, 
Scorecard_Objectives.Details, 
Scorecard_Objectives.ZIndex, 
Scorecard_ObjectiveCats.IdentityLetter 
FROM 
[Scorecard_Measure], 
[Scorecard_Objectives], 
[Scorecard_ObjectiveCats] 
WHERE 
Scorecard_Measure.ObjID=Scorecard_Objectives.ID 
AND Scorecard_Objectives.ObjCatID = Scorecard_ObjectiveCats.ID 
AND Scorecard_Measure.FiscalYear = '2011' 
AND Scorecard_Measure.Publish='Y' 
ORDER BY Scorecard_Measure.LastUpdated DESC 

Scorecard_Objectives.IDがScorecard_Measureテーブルの外部キーである、Scorecard_ObjectiveCats.IDはScorecard_Objectivesテーブルの外部キーです。

また、奇妙な出来事。私は同じ2つのカラム名を持っていますが、それらのカラムを参照すると、「あなたの結果には同じ名前のカラムがあり、それらのカラムから参照されるテーブルを参照しています」と言う前に、 ...例えばrs( "Scorecard_Objectives.ZIndex")とrs( "Scorecard_Measure.ZIndex") - これらの参照を使用すると、IISからエラーが発生します。

どのような点がありがとうございます。前もって感謝します!

+0

これは起こりません。 2つのデータベースが混乱していますか? –

+0

@SteveWellens、no。私のアプリケーションの接続文字列は、この特定のデータベースを指しています。それはちょっと変だ。それはすべてlocalhost上でローカルに魅力的に働いていました。 SQL Serverの新しいクエリウィンドウでクエリを実行すると、クエリがすべてのデータを取り戻すことになります。 –

+0

@MarkJohnsII - クエリのテーブルの所有者の前に表示されません。おそらく、同じテーブル名を持つ複数のスキーマがありますか?各テーブルに所有者を追加すると、何が起こりますか(所有者がdboだと仮定すると、dbo.Scorecard_Measure、...となります)。 –

答えて

0

アクセス異なる変数を持つZINDEXの両方。この結合クエリを試してください。

SELECT 
Scorecard_Measure.Measure, 
Scorecard_Measure.Target, 
Scorecard_Measure.YTD, 
Scorecard_Measure.Status, 
Scorecard_Measure.Explanation, 
Scorecard_Measure.Division, 
Scorecard_Measure.ZIndex as MZIndex, 
Scorecard_Measure.LastUpdated, 
Scorecard_Measure.ID, 
Scorecard_Objectives.Details, 
Scorecard_Objectives.ZIndex as OZIndex, 
Scorecard_ObjectiveCats.IdentityLetter 
FROM 
Scorecard_Measure INNER JOIN Scorecard_Objectives 
ON Scorecard_Measure.ObjID=Scorecard_Objectives.ID 
AND Scorecard_Measure.FiscalYear = '2011' 
AND Scorecard_Measure.Publish='Y' 
INNER JOIN Scorecard_ObjectiveCats 
ON Scorecard_Objectives.ObjCatID = Scorecard_ObjectiveCats.ID 
ORDER BY Scorecard_Measure.LastUpdated DESC 
関連する問題