2017-01-24 5 views
0

IDがフィルタリングされていないため、データが正しく取得されません。唯一の車両(regoznaka = OS 428-EF)のためにt1.id < t2.idを得ることは可能ですか?Sql CE行がフィルタリングされたときに同じ列の行を計算する

SELECT 
    t2.id, 
    t2.Regoznaka, 
    t2.tocenolit, 
    max(t2.stanjekm) as km2, 
    max(t1.stanjekm) as km1, 
    max(t2.stanjekm) - max(t1.stanjekm) as Kilometara, 
    max(t1.id) as id1 
FROM Gorivo AS t1 

Right JOIN 
    Gorivo AS t2 ON t1.id < t2.id 
Where t2.regoznaka='OS 428-EF' 
Group by t2.id, t2.Regoznaka, t2.tocenolit, t2.stanjekm 
+1

'RIGHT JOIN'、どのように来ますか?ほとんどの人はLEFT JOINを理解するのに十分な難しさを感じています。 – jarlh

+0

"OS 428-EF"より下のすべてのIDを左テーブルから単一のテーブルに結合しています(regoznaka = 'OS 428- EF ')が表示されます。それがあなたが意図したものだと確信していますか?多分あなたはt1.id = t2.idを意味するのでしょうか?そうでない場合は、達成しようとしていることの詳細と意味が役立ちます。 – theblitz

+0

@jarlh私は何マイルの車がhttp://imgur.com/a/EQMW0を作ったか計算した – Josip

答えて

0

問題は、左のテーブルから行を制限していないことです。 あなたにも左テーブルに条件を適用する必要があります。

and t1.regoznaka='OS 428-EF' 

OR:

and t1.regoznaka = t2.regoznaka 
関連する問題