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;

Antworten auf die Frage(1)

Ihre Antwort auf die Frage