このクエリが pgAdmin では機能するのに、ODBC を使用するソフトウェアでは機能しない理由を教えてください。
CREATE TEMP TABLE temp296 WITH (OIDS) ON COMMIT DROP AS
SELECT age_group AS a,male AS m,mode AS t,AVG(speed) AS speed
FROM person JOIN info ON person.ppid=info.ppid
WHERE info.mode=2
GROUP BY age_group,male,mode;
SELECT age_group,male,mode,
CASE
WHEN age_group=1 AND male=0 THEN (info_dist_km/(SELECT avg_speed FROM temp296 WHERE a=1 AND m=0))*60
ELSE 0
END AS info_durn_min
FROM person JOIN info ON person.ppid=info.ppid
WHERE info.mode IN (7) AND info.info_dist_km>2;
「42P01: エラー: リレーション "temp296" が存在しません」というメッセージが表示されました。
「BEGIN; [...] COMMIT;」も試しました。- 「HY010:カーソルが開いています」。
PostgreSQL 9.0.10、Visual C++ ビルド 1500 でコンパイル、64 ビット psqlODBC 09.01.0200 Windows 7 x64