2011-06-30 13 views
2

でサポートされていない、私がクエリによってグループの参照としてエイリアスを使用することはできませんように見えますリファレンス私はこのクエリを使用して、いくつかの問題を抱えているグループ機能

SELECT v.V_VEHICLEID, v.V_LICENSENO, 
ROUND((MAX(IF(DAY(WP_DATETIME) = 1, WP_ODOMETER, NULL)) - MIN(IF(DAY(WP_DATETIME) = 1, WP_ODOMETER, NULL)))/1000) AS TRIP1,  
..., 
ROUND((MAX(IF(DAY(WP_DATETIME) = 31, WP_ODOMETER, NULL)) - MIN(IF(DAY(WP_DATETIME) = 31, WP_ODOMETER, NULL)))/1000) AS TRIP31, 

ROUND(MAX(IF(DAY(WP_DATETIME) = 1, WP_FUELREAD, NULL)) - MIN(IF(DAY(WP_DATETIME) = 1, WP_FUELREAD, NULL)),2) AS FUEL1, 
..., 
ROUND(MAX(IF(DAY(WP_DATETIME) = 31, WP_FUELREAD, NULL)) - MIN(IF(DAY(WP_DATETIME) = 31, WP_FUELREAD, NULL)),2) AS FUEL31, 

(SELECT TRIP1/FUEL1) AS ECON1, 
..., 
(SELECT TRIP31/FUEL31) AS ECON31 
FROM VEHICLES v 
JOIN WAYPOINTS wp on wp.WP_VEHICLEID = v.V_VEHICLEID 
WHERE MONTH(wp.WP_DATETIME) = '6' AND v.V_USER = 'tc' 
GROUP BY wp.WP_VEHICLEID 

エラー

リファレンス「TRIP1」ではありませんサポートされています(グループ機能参照)

どのような解決策ですか?

答えて

8

あなたは同じクエリでクエリで定義された列の別名を使用することはできません。次のようなものを試してみてください:私はコードをタイプミスと思わ

SELECT *, 
     TRIP1/FUEL1 AS ECON1, 
     TRIP31/FUEL31 AS ECON31, 
     OTHER COLUMNS.... 
FROM 
(
    SELECT v.V_VEHICLEID, 
       v.V_LICENSENO, 
       ROUND((MAX(IF(DAY(WP_DATETIME) = 1, WP_ODOMETER, NULL)) - MIN(IF(DAY(WP_DATETIME) =  1,  WP_ODOMETER, NULL)))/1000) AS TRIP1, 
       ROUND(MAX(IF(DAY(WP_DATETIME) = 1, WP_FUELREAD, NULL)) - MIN(IF(DAY(WP_DATETIME) = 1,  WP_FUELREAD, NULL)),2) AS FUEL1, 
       ROUND((MAX(IF(DAY(WP_DATETIME) = 31, WP_ODOMETER, NULL)) - MIN(IF(DAY(WP_DATETIME) = 31, WP_ODOMETER, NULL)))/1000) AS TRIP31, 
       ROUND(MAX(IF(DAY(WP_DATETIME) = 31, WP_FUELREAD, NULL)) - MIN(IF(DAY(WP_DATETIME) = 31, WP_FUELREAD, NULL)),2) AS FUEL31, 
       OTHER COLUMNS... 
    FROM  VEHICLES v 
    JOIN  WAYPOINTS wp 
    ON  wp.WP_VEHICLEID = v.V_VEHICLEID 
    WHERE  MONTH(wp.WP_DATETIME) = '6' 
    AND  v.V_USER = 'tc' 
    GROUP BY wp.WP_VEHICLEID 
) t 
+0

大丈夫を編集しましたか? TRIP1 - TRIP31、FUEL1 - FUEL31日に – Dels

+0

私の編集を見てください。あなたは好きなだけ多くの列で同じことができます。すべてを指定するだけです。 –

2

あなたは別名WPを指定しませんでした。それはこのようにする必要があり、見てみましょう: ...

JOIN WAYPOINTS wp on wp.WP_VEHICLEID = v.V_VEHICLEID 
+0

、それはまさにあなたのようにする必要があり、おかげで、それは一つの問題を解決するが、複数のデータに解決する方法のコード – Dels

関連する問題