こんにちは、現在、Visual Studio 2008 でレポートを作成しています。以下のクエリを使用してデータ セットを作成しています。クエリをテストすると、これは SQL / SMSS およびデータセットで正しく機能します。
SELECT
CASE WHEN Make LIKE 'FO%' THEN 'Ford'
WHEN Make LIKE 'HON%' THEN 'Honda'
END Make,
CASE WHEN model LIKE 'CIV%' THEN 'Civic'
WHEN model LIKE '%AC%' THEN 'Accord'
ELSE model
END model,
year, AVG(Fuel.MPG) as AVGMPG
From cars, Fuel
Where Fuel.ID=cars.ID
AND year > 2003
AND Make is not NULL
AND model is not NULL
AND year is not NULL
Group by Make, model, year
レポートでデータセットを参照すると、次のエラーが生成されます。
レポートの処理中にエラーが発生しました。呼び出しのターゲットによって例外がスローされました。制約を有効にできませんでした。1 つ以上の行に、null 以外、一意、または外部キーの制約に違反する値が含まれています。
実際の SQL ステートメントはより大きく、いくつかの CASE ステートメントが含まれているため、すべて機能するため、ステートメントの else 部分に絞り込みました。
背景として、モデルからすべてのデータを取得しようとしていますが、類似している特定の値をグループ化していますが、残りのデータも取得しています。