Fügen Sie mehrere Zeilen in eine Tabelle ein, basierend auf der Nummer in einer anderen Tabelle
Ich erstelle zum ersten Mal eine Datenbank mit Postgres 9.3 unter MacOSX.
Nehmen wir an, ich habe einen TischA
undB
. Table A
beginnt als leer undTable B
wie gefüllt. Ich möchte die Anzahl der Einträge in der Spalteall_names
in der TabelleB
gleich dienumber
für jedennames
in der TabelleA
wie TischB
unten. Somitnames
sollte jeden eindeutigen Eintrag von enthaltenall_names
undnumber
seine Zählung. Ich bin noch nicht an die Syntax gewöhnt, daher weiß ich nicht wirklich, wie ich damit umgehen soll. Dasbirthday
Spalte ist redundant.
A
names | number
-------+------------
Carl | 3
Bill | 4
Jen | 2
B
all_names | birthday
-------+------------
Carl | 17/03/1980
Carl | 22/08/1994
Carl | 04/09/1951
Bill | 02/12/2003
Bill | 11/03/1975
Bill | 04/06/1986
Bill | 08/07/2005
Jen | 05/03/2009
Jen | 01/04/1945
UPDATE: Wäre das die richtige Vorgehensweise?insert into a (names, number) select b.all_names, count(b.all_names) from b group by b.all_names;