Ich habe diese Abfrage, die ich in PostgreSQL geschrieben habe und die einen Fehler zurückgibt, der besagt:
[Err] ERROR:
LINE 3: FROM (SELECT DISTINCT (identifizierend) AS made_only_recharge
Dies ist die ganze Abfrage:
SELECT COUNT (made_only_recharge) AS made_only_recharge
FROM (
SELECT DISTINCT (identifiant) AS made_only_recharge
FROM cdr_data
WHERE CALLEDNUMBER = '0130'
EXCEPT
SELECT DISTINCT (identifiant) AS made_only_recharge
FROM cdr_data
WHERE CALLEDNUMBER != '0130'
)
Ich habe eine ähnliche Abfrage in Oracle, die gut funktioniert. Die einzige Änderung ist, wo ich EXCEPT
in Oracle habe ich es durch das MINUS
Schlüsselwort ersetzt. Ich bin neu bei Postgres und weiß nicht, wonach es verlangt. Wie geht man damit richtig um?
sql
oracle
postgresql
subquery
Roykasa
quelle
quelle
CALLEDNUMBER = '0130'
.Antworten:
fügen Sie eine
ALIAS
auf der Unterabfrage,quelle
AS pg_sucks
, was bedeutet "Nun, hier haben Sie eine redundante Kennung, aber Sie könnten einige intern selbst generieren, verdammte Postgres!" :)Bei verschachtelten Tabellen müssen einige DBMS einen Alias wie MySQL und Oracle verwenden, andere haben keine so strengen Anforderungen, können sie jedoch hinzufügen, um das Ergebnis der inneren Abfrage zu ersetzen.
quelle