1

ここの回答を使用して以前に質問に回答しましたが、この質問に対する回答が見つかりません。

ドライバーが何回ドロップするかを取得する必要があるクエリを作成しています。かなり簡単ですが、それらを合計して合計する必要がありますが、SUM機能を使用すると正しい情報が返されません。

テーブルの Journey Header はドロップ数の列です。これらを合計して合計を出す必要がありますが、ドライバー、車両、ドロップの合計数、および注文値を表示するクエリが必要ですが、私は個々のレコードは必要ありません。意味がある場合は、それらをすべてグループ化してください...

以下は、私が使用しているスクリプトとその下の結果の一部です。たとえば、ドライバーの Chris Akwuba に、彼が行ったドロップの合計量と注文値 (注文値が機能している) を 1 行で表示させたいとします。

ありがとうございます。

select
sum(JH.NoofDrops) as [Number of Drops],
Jh.JourneyID,
JH.DriverName as [Driver],
VT.Name as [Vehicle Class],
SUM (OH.TotalSellPrice) as [Order Value]
from JourneyHeader JH with (NOLOCK)
LEFT JOIN VehicleType VT with (NOLOCK) on VT.VehicleTypeID=JH.VehicleTypeID
LEFT JOIN JourneyLine JL with (NOLOCK) on JL.JourneyID=JH.JourneyID
LEFT JOIN Orderheader OH with (NOLOCK) on OH.OrderID=JL.OrderID
where 
JourneyDate between '2012-06-01 00:00:00' and '2012-07-20 00:00:00'
Group by JH.DriverName, VT.Name, Jh.NoOfDrops, JH.JourneyID

Number of Drops JourneyID     Driver         Vehicle Class  Order Value
25          14520             Chris Akwuba       Transit            2533.32
1           14521             Kevin O'Sullivan   Hiab (Class2)  214.15
16          14522             Kevin O'Sullivan   Hiab (Class2)  1672.29
9           14523             Chris Akwuba       Transit            1136.69
16          14525             James O'Brien      7.5 tonne          633.18
9           14526             Errol Gray         Transit            768.17
25          14527             John Hardy         Transit            969.80
4

2 に答える 2

2

正しいSQL を記述しても、結果は常に正しくありません。ヒントを追加したのでwith (NOLOCK)、一貫性のないデータを取得しているダーティ リードを実行するよう求めています。NOLOCKヒントが使用されている場合、以前にコミットされた行が失われる可能性があるを参照してください。

さて、「間違った結果を教えてください」というヒントを捨てても構わないと思っているなら、チャンスは十分にあります。しかし、それを実現するためには、要件が矛盾してはなりません。あなたが言うとき、あなたは明らかにコラムI want the driver Chris Akwuba to show one lineを求めることができません。ドライバーごとに 1 行、またはジャーニーごとJourneyIDに 1 行のいずれかを決定する必要があります。両方ではありません。それらのいずれかを解決したら、質問を再質問してください。

于 2012-10-09T12:17:49.030 に答える
2

Jh.NoOfDrops, JH.JourneyIDグループから削除しJourneyIDselect 例から削除します

Group by JH.DriverName, VT.Name
于 2012-10-09T10:19:11.687 に答える