SQL-SELECT in andere Tabelle mit anderen Spaltennamen
Claudia TT.
- programmiertechnik
Hallo,
einfaches Beispiel:
Ich habe folgende Tabellen
Tabelle 1
BEREICH MONAT WERT
Tabelle 2
ABTEILUNG MONAT BETRAG
Nun will ich die Einträge aus Tabelle 1 in Tabelle 2 übertragen, aber die Spaltennamen sind nicht identisch.
Wie bekomme ich die Einträge z.B. von BEREICH in ABTEILUNG überführt ?
Danke für die Hilfe an eine SQL-Anfängerin
Hallo
Ich habe folgende Tabellen
Tabelle 1
BEREICH MONAT WERTTabelle 2
ABTEILUNG MONAT BETRAGNun will ich die Einträge aus Tabelle 1 in Tabelle 2 übertragen, aber die Spaltennamen sind nicht identisch.
mit
INSERT INTO -- Füge ein in die
Tabelle2 ( -- Zieltabelle, in die
ABTEILUNG, -- Zielspalten,
MONAT,
BETRAG
) -- was Du
SELECT -- auswählst aus den
BEREICH, -- korrespondierenden Spalten,
MONAT, -- deren Reihenfolge wichtig ist
BETRAG -- und den Zielspalten entsprechen muss,
FROM
Tabelle1 -- der Quelltabelle
geht dies ganz einfach, was Dir auch die Dokumentation Deines DBMS hätte sagen können. Leider hast Du verschwiegen, mit welchem Du arbeitest :-(
Anmerkungen:
Leerzeichen in Tabellennamen erfordern, dass der Tabellenname gemäß den Vorschriften des Datenbankmanagementsystems (DBMS) maskiert werden muss, z.B. bei MySQL mit dem Backtick, bei MS SQL-Server oder MS Access (Jet-SQL) mit eckigen Klammern.
Spaltennamen komplett in Großbuchstaben sind unüblich und schlechter Stil. Typischerweise werden dafür Kleinbuchstaben verwendet, um sie in den SQL-Statements von den Bestandteilen der SQL-Sprache zu unterscheiden. Für die wiederum ist es guter Stil, sie komplett groß zu schreiben. Es gibt auch DBMS, die diese Bestandteile automatisch in Großbuchstaben umwandeln.
Freundliche Grüße
Vinzenz
Hallo
Ich habe folgende Tabellen
Tabelle 1
BEREICH MONAT WERTTabelle 2
ABTEILUNG MONAT BETRAGNun will ich die Einträge aus Tabelle 1 in Tabelle 2 übertragen, aber die Spaltennamen sind nicht identisch.
mit
INSERT INTO -- Füge ein in die
Tabelle2 ( -- Zieltabelle, in die
ABTEILUNG, -- Zielspalten,
MONAT,
BETRAG
) -- was Du
SELECT -- auswählst aus den
BEREICH, -- korrespondierenden Spalten,
MONAT, -- deren Reihenfolge wichtig ist
BETRAG -- und den Zielspalten entsprechen muss,
FROM
Tabelle1 -- der Quelltabelle
>
> geht dies ganz einfach, was Dir auch die Dokumentation Deines DBMS hätte sagen können. Leider hast Du verschwiegen, mit welchem Du arbeitest :-(
>
> Anmerkungen:
> Leerzeichen in Tabellennamen erfordern, dass der Tabellenname gemäß den Vorschriften des Datenbankmanagementsystems (DBMS) maskiert werden muss, z.B. bei MySQL mit dem Backtick, bei MS SQL-Server oder MS Access (Jet-SQL) mit eckigen Klammern.
> Spaltennamen komplett in Großbuchstaben sind unüblich und schlechter Stil. Typischerweise werden dafür Kleinbuchstaben verwendet, um sie in den SQL-Statements von den Bestandteilen der SQL-Sprache zu unterscheiden. Für die wiederum ist es guter Stil, sie komplett groß zu schreiben. Es gibt auch DBMS, die diese Bestandteile automatisch in Großbuchstaben umwandeln.
>
>
> Freundliche Grüße
>
> Vinzenz
Vielen Dank, Vinzenz