Ich habe eine Postgres-Tabelle mit Datensätzen, die viele neue Filed Accounts mit reg_number und viele Filed Accounts enthalten, die nun mit derselben reg_number finalisiert sind.Auswählen von Datensätzen mit doppelter Nummer in einer Spalte und einer eindeutigen Zeichenfolge in einer anderen
Ich kann nicht nach Datum oder Zeilennummer wegen Inkonsistenzen abfragen.
Ich muss auswählen können:
Alle Filed Reihen -, die noch nicht abgeschlossen sind und,
Alle Fertiggestellt Reihen aber nicht ihre ursprüngliche ‚eingereicht‘ Reihe.
Source Data Tabelle
reg_num | file_final | otherCols
1234 | filed | foo
1234 | final | foo
1235 | filed | foo
1218 | filed | foo
1111 | final | foo
1235 | final | foo
Gewünschte auswählen:
reg_num | file_final | otherCols
1234 | final | foo
1218 | filed | foo
1111 | final | foo
1235 | final | foo
ich eine Reihe von Kombinationen von SELECT DISTINCT ON versucht haben, und schließt sich aber bin fest.
Die zwei relevanten Felder sind oben gezeigt und die Gesamttabelle hat ungefähr 25 andere Spalten,
, die ich auswählen können muss.
Jede Hilfe wäre willkommen. Vielen Dank!
Einige Abfragen habe ich versucht (unter 10 +) umfassen:
SELECT * FROM
ca_enforce
WHERE reg_number IN
(
DISTINCT ON (reg_number SELECT) reg_number
WHERE file_final = 'Final' OR file_final = 'Filed'
GROUP BY Regnummer
);
Ein anderer:
ON reg_number SELECT DISTINCT,
id,
col3,
col4,
file_final,
Col6,
COL7,
reg_number
WHERE file_final = 'Final'
FROM my_table
BESTELLEN B Y Datei_Final;
Dank beiden Antworten. Ich akzeptierte dieses, da es die Ergebnisse mit dem geringsten Optimieren gab ... und das nur, weil ich beide Tabellenreferenzierungen auf denselben schema.table-Namen ändern musste. Vielen Dank!Dadurch wurde ein großer Fehler in der Methodik der Datenquelle aufgedeckt, wo sie ungefähr 30% der Datensätze falsch klassifizierten. – enjoypb