2016-03-22 12 views
1

Ich habe eine Postgres-Tabelle (9.3), die ein Feld namens a.locations hat. Ich möchte eine temporäre Tabelle mit einer Sequenz für die gleiche, aber mit ähnlichen Standorten mit der gleichen Sequenznummer generieren. Um die Dinge klarer, meine aktuelle Tabelle (Beispiel):Erzeugen einer Sequenz basierend auf einem Feld

ID  |  Locations 
1  |  Bangalore 
2  |  New York 
3  |  London 
4  |  Bangalore 
5  |  New York 

Was ich brauche, ist:

ID  |  Locations 
1  |  Bangalore 
1  |  Bangalore 
2  |  London 
3  |  New York 
3  |  New York 

jede Hilfe dankbar zu löschen. Danke im Voraus.

Antwort

0

Diese Abfrage:

INSERT INTO #temp (ID, locations) 
SELECT l2.minID, l1.locations 
FROM location l1 
INNER JOIN 
(
    SELECT locations, MIN(ID) AS minID 
    FROM location 
    GROUP BY locations 
) l2 
    ON l1.locations = l2.locations 
+0

Vielen Dank für diese ... Was passiert, wenn ich eine neue Sequenz erzeugen wollen .. Als i i eine temporäre Tabelle erstellen möchten erwähnt und nicht das Original aktualisieren ..? – Ang

+0

@Ang Ich aktualisierte meine Antwort, um ein 'INSERT' zu verwenden. –

+0

Danke nochmal. – Ang

Verwandte Themen