2016-08-25 12 views
0

が、私はあなたがここに見ることができるように、このクエリを使用してビューを作成しようとしていますが返されます。GROUPBYは集計エラー

SELECT  dbo.Lines.LineNumber, dbo.Lines.DocumentNumber, dbo.Joints.JointNumber, dbo.Joints.JointSize, dbo.Joints.ShopField, dbo.Joints.WPS, dbo.WeldDetails.StateStep2 AS WeldState, dbo.Welds.WeldNumber, 
         dbo.FitUps.FitUpNumber, MAX(dbo.WeldDetails.Id) AS WeldDetailId, MAX(dbo.FitUpDetails.Id) AS FitupDetailId, dbo.Joints.Id AS JointId, dbo.Ends.Name, dbo.Joints.THK, dbo.FitUpDetails.StateStep2 AS FitupState, 
          dbo.Joints.Revision, dbo.Joints.Note 
FROM   dbo.FitUps INNER JOIN 
         dbo.Welds INNER JOIN 
         dbo.Joints INNER JOIN 
         dbo.WeldDetails ON dbo.Joints.Id = dbo.WeldDetails.JointId INNER JOIN 
         dbo.FitUpDetails ON dbo.Joints.Id = dbo.FitUpDetails.JointId ON dbo.Welds.Id = dbo.WeldDetails.WeldId ON dbo.FitUps.Id = dbo.FitUpDetails.FitUpId INNER JOIN 
         dbo.Lines ON dbo.Joints.LineId = dbo.Lines.Id INNER JOIN 
         dbo.Ends ON dbo.Joints.EndId = dbo.Ends.Id 
GROUP BY dbo.Joints.Id 

をしかし、私は、ビューを保存したいとき、私はこのエラーを取得: enter image description here

をここで

私のデータの一部です: enter image description here

すべての関節のidが私の見解では、マルチfitupdetailidwelddetailidを持つことができます私はしたいだけで、最大値0を表示私の関節のf fitupdetailidwelddetailid

+0

正確に達成しようとしているのは何ですか?いくつかのサンプルデータと達成しようとしている結果を共有できますか? – Mureinik

+0

@Mureinikはい質問に投稿させてください –

+0

正確に何をしたいのか分かりませんが、エラーを取り除きたい場合は、次のグループを試してみてください: GROUP BY dbo.Lines.LineNumber、dbo。 Dbo.Joints.JointSize、dbo.Joints.ShopField、dbo.Joints.WPS、dbo.WeldDetails.StateStep2、dbo.Welds.WeldNumber、 dbo.FitUps.FitUpNumber、dbo.Joints .Id、dbo.Ends.Name、dbo.Joints.THK、dbo.FitUpDetails.StateStep2、dbo.Joints.Revision、dbo.Joints.Note –

答えて

1

あなたのGUIが吐き出すものよりも読みやすい結合構造でクエリを書き直しました。これはあなたのために実行し、エラーを修正する必要があります。結果があなたの望むものであるかどうかは、あなたのデータによって決まります。また、階層化する方法をグループ化するために、グループ化の順序を変更することもできます。しかし、これらの列はすべて、ある形式でグループ化する必要があります。

SELECT 
    dbo.Lines.LineNumber, 
    dbo.Lines.DocumentNumber, 
    dbo.Joints.JointNumber, 
    dbo.Joints.JointSize, 
    dbo.Joints.ShopField, 
    dbo.Joints.WPS, 
    dbo.WeldDetails.StateStep2 AS WeldState, 
    dbo.Welds.WeldNumber, 
    dbo.FitUps.FitUpNumber, 
    MAX(dbo.WeldDetails.Id) AS WeldDetailId, 
    MAX(dbo.FitUpDetails.Id) AS FitupDetailId, 
    dbo.Joints.Id AS JointId, 
    dbo.Ends.Name, 
    dbo.Joints.THK, 
    dbo.FitUpDetails.StateStep2 AS FitupState, 
    dbo.Joints.Revision, 
    dbo.Joints.Note 
FROM 
    dbo.FitUps 
    INNER JOIN dbo.FitUpDetails ON dbo.FitUps.Id = dbo.FitUpDetails.FitUpId 
    INNER JOIN dbo.Joints ON dbo.Joints.Id = dbo.FitUpDetails.JointId 
    INNER JOIN dbo.WeldDetails ON dbo.Joints.Id = dbo.WeldDetails.JointId 
    INNER JOIN dbo.Welds ON dbo.Welds.Id = dbo.WeldDetails.WeldId 
    INNER JOIN dbo.Lines ON dbo.Joints.LineId = dbo.Lines.Id 
    INNER JOIN dbo.Ends ON dbo.Joints.EndId = dbo.Ends.Id 
GROUP BY 
    dbo.Lines.LineNumber, 
    dbo.Lines.DocumentNumber, 
    dbo.Joints.JointNumber, 
    dbo.Joints.JointSize, 
    dbo.Joints.ShopField, 
    dbo.Joints.WPS, 
    dbo.WeldDetails.StateStep2, 
    dbo.Welds.WeldNumber, 
    dbo.FitUps.FitUpNumber, 
    dbo.Joints.Id, 
    dbo.Ends.Name, 
    dbo.Joints.THK, 
    dbo.FitUpDetails.StateStep2, 
    dbo.Joints.Revision, 
    dbo.Joints.Note 
+0

'。'の近くの構文が正しくありません!!!! –

+0

期間をどこかに入れましたか?エラーをダブルクリック...どの行がハイライト表示されますか? – scsimon

+0

この行:INNER JOIN dbo.Weld詳細dbo.Joints.Id = dbo.WeldDetails.JointId –