Ich habe folgende SQL-Abfrage, die an auszuführen:SQL-Abfrage-Fehler (korrelierte Unterabfrage mit skip-level Korrelationen wird nicht unterstützt)
PostgreSQL 9.5.1, von Visual C++ kompiliert 1800 zu bauen, 64-Bit-
aber nicht an:
PostgreSQL 8.2.15 (Greenplum Database 4.3.5.4 Build 1) auf x86_64-unknown-linux-gnu, von GCC gcc (GCC) zusammengestellt 4.4.2
SELECT id,
(SELECT AVG(dur)
FROM data t
WHERE t.id = t1.id AND
t.id IN (SELECT id
FROM data t2
WHERE t2.id = t1.id
ORDER BY dur
DESC LIMIT 10)) as avgdur
FROM data t1
WHERE t1.b<10000
ORDER BY avgdur
DESC LIMIT 1;
bekomme ich folgende Fehlermeldung: ERROR: korrelierte Unterabfrage mit Skip-Level-Korrelationen nicht unterstützt wird (subselect.c: 394)
Wie soll ich die Abfrage ändern?
siehe diesen Link, könnte es helfen. http://stackoverflow.com/questions/426221/postgresql-correlated-sub-query-fail – Bharat
'WO t2.id = t1.id)) als avgdur' - >>' WHERE t2.id = t.id)) als avgdur' Aber die Abfrage kann wahrscheinlich vereinfacht werden. – joop