Teile von einer Tabelle in einer anderen Tabelle kopieren
-
Hallo,
ich habe zb. eine tabelle "verkaufen" die folgendermaßen ausschaut:
Nr Artikel Preis
20 Schere 2,5
21 Kleber 3,0die zweite Tabelle "kunde" schaut so aus:
Nr Artikel Preis Kunde statusbezahlt
diese ist noch leer und soll sich eben durch einen "kopier" befehl von zb. Nr 20 füllen.
mein letzter versuch sah so aus:
INSERT INTO kunde(Nr, Artikel, Preis, Kunde, statusbezahlt) VALUES (
FROM verkaufen WHERE Nr="20",
FROM verkaufen WHERE Nr="20",
FROM verkaufen WHERE Nr="20",
'kundenname',
'bezahlung offen');natürlich kann dies nicht funktionieren, da bei FROM verkaufen WHERE Nr="20" etwas fehlt oder falsch ist...
aber wie könnte ich das realisieren?
Wäre echt klasse wenn ihr mir helfen könntet.
MfG
-
INSERT [kunde] ([Nr], [Artikel], [Preis], [Kunde], [statusbezahlt]) VALUES ( (SELECT [Nr] FROM [verkaufen] WHERE Nr='20'), (SELECT [Artikel] FROM [verkaufen] WHERE Nr='20'), (SELECT [Preis] FROM [verkaufen] WHERE Nr='20'), 'kundenname', 'bezahlung offen' );
...oder kürzer...
INSERT [kunde] ([Nr], [Artikel], [Preis], [Kunde], [statusbezahlt]) SELECT [Nr], [Artikel], [Preis], 'kundenname', 'bezahlung offen' FROM [verkaufen] WHERE [Nr] = '20' ;
Und bitte verwende das nächste mal [code] Tags.
BTW: ist [Nr] bei dir wirklich ein (var)char-Feld??? Oder tust du grundsätzlich String-Werte mit " escapen?
-
Ja, das mit den "" hab ich in cpp aber muss schon ' sein.
Danke dir, genau das habe ich gesucht, klasse!
Noch eine kleine Frage:
Wie kann ich den inhalt einer Zelle auslesen und diese in einem string speichern? mit query usw.
-
Du solltest Dein DB-Design überlegen. Stichwort Normalisierung.
Wozu muss man die gleichen Daten in einer neuen Tabelle haben.