0

テーブルからMPG値を計算するために、次のSQLServerFuelクエリを使用しています。

SELECT 
    CASE 
       WHEN Fuel.Quantity = 0 THEN 0 
       ELSE (Fuel.Odometer - ISNULL((SELECT TOP 1 Dupe.Odometer FROM Fuel AS Dupe WHERE Dupe.MainID = Fuel.MainID AND Dupe.FuelingDateTime < Fuel.FuelingDateTime ORDER BY Dupe.FuelingDateTime DESC, Dupe.FuelID),0)) / Fuel.Quantity 
    END AS MPG 
FROM Fuel 
WHERE MainID = 1

それをSQLiteクエリに変換すると、エラーが発生します。

「1」の近く:構文エラー

SQLiteクエリは次のとおりです。

SELECT CASE 
WHEN Fuel.Quantity = 0 THEN 0 
ELSE 
(Fuel.Odometer - IFNULL((Select TOP 1 Dupe.Odometer FROM Fuel As Dupe WHERE Dupe.MainID = Fuel.MainID AND Dupe.FuelingDateTime < Fuel.FuelingDateTime ORDER BY Dupe.FuelingDateTime DESC, Dupe.FuelID),0)) / Fuel.Quantity 
END As MPG 
FROM Fuel 
WHERE MainID = 1

一時テーブル('Dupe')ですか?SQLiteでクエリを作成するにはどうすればよいですか?

4

0 に答える 0