Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#6

Re: SQL - Felder in gleiche Tabelle kopieren - anderer Schlü

  Alt 20. Feb 2009, 09:33
Hallo,

so könnte das gehen:
SQL-Code:
insert into KundenRechRab /* die Tabelle, die für jeden Kunden einen Satz mit KundenNr 1 1 Rabatt 904100 0 1 0 1 4.50 1 50.00 enthalten soll */
select KundenNr,
1 as Spalte1,
1 as Spalte2,
'Rabattas Spalte3,
904100 as Spalte4,
0 as Spalte5,
1 as Spalte6,
0 as Spalte7,
1 as Spalte8,
4.50 as Spalte9,
1 as Spalte10,
50.00 as Spalte11
from Kunden /* diese Tabelle muss alle Kundennummern enthalten */
Spalte1 bis Spalte11 ersetzt Du bitte durch die Namen Deiner Zieltabelle.

Eine Alternative wäre:
select Kunden.KundenNr, KundenRechRab.Spalte2 ... Spalte11 from Kunden, KundenRechRab Dies setzt voraus, dass die Tabelle KundenRechRab genau eine Zeile (nämlich 10110 1 1 Rabatt 904100 0 1 0 1 4.50 1 50.00) enthält.
Hier wird ein kartesisches Produkt zwischen dieser einzeiligen Tabelle und der Kundentabelle erstellt, mit der Folge, dass für jeden Kunden eine Zeile im Ergebnis steht, die aus
Code:
Kundennummer 1 1 Rabatt 904100 0 1 0 1 4.50 1 50.00
besteht.
Mit insert into Zieltabelle select Kunden.KundenNr, KundenRechRab.Spalte2 ... Spalte11 from Kunden, KundenRechRab where kunden.kundenNr <> 10110 kannst Du die Daten in die Zieltabelle übernehmen.
Anstelle von
Code:
KundenRechRab.Spalte2 ... Spalte11
machst Du bitte eine Spaltenliste entsprechend 10110 1 1 Rabatt 904100 0 1 0 1 4.50 1 50.00 mit Ausnahme der KundenNr, also eine Liste der Spaltennamen zu 1 1 Rabatt 904100 0 1 0 1 4.50 1 50.00.

[EDIT]hat Schreibfehler gefunden[/EDIT]
  Mit Zitat antworten Zitat