Daten aus einer Zeile in eine andere bestehende Zeile kopieren

NETGAMES

Benutzer
Beiträge
14
Hallo,

ich benötige mal einen kleinen Tipp oder Denkansatz, da ich nicht weiß wie ich beginnen soll. Ich habe eine Datenbank mit mehreren Artikeln, wir haben nun ein paar dieser Artikel bearbeitet, und zusätzliche Daten in die Felder eingetragen, wie zB USK, Bild, Text, Erscheinungsdatum usw.
Diese Artikel sind aber immer noch einmal Angelegt, jedoch mit dem unterschied dass sie dann gebraucht sind. DB sieht also so aus:

Code:
Artikel  EAN    Name                USK  Bild  Text
21271    123456  Spiel 1              18  *.jpg Tolles Spiel
21370    123456  Spiel 1, gebraucht

Ich suche jetzt eine Möglichkeit, die schon eingefügten Daten bei Spiel 1 in die Felder von Spiel 1, gebraucht zu setzen. Es soll nichts komplett automatisches für die DB sein, ich mache das gern für jeden Datensatz einzeln. Mein Ansatz war so:

Nimm USK, Bild, Text von Artikel 21271 und setze die Werte bei Artikel 21370 ein.

hat jemand eine Idee?

vielen Dank
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.851
Hallo,

ich benötige mal einen kleinen Tipp oder Denkansatz, da ich nicht weiß wie ich beginnen soll. Ich habe eine Datenbank mit mehreren Artikeln, wir haben nun ein paar dieser Artikel bearbeitet, und zusätzliche Daten in die Felder eingetragen, wie zB USK, Bild, Text, Erscheinungsdatum usw.
Diese Artikel sind aber immer noch einmal Angelegt, jedoch mit dem unterschied dass sie dann gebraucht sind. DB sieht also so aus:

Code:
Artikel  EAN    Name                USK  Bild  Text
21271    123456  Spiel 1              18  *.jpg Tolles Spiel
21370    123456  Spiel 1, gebraucht

Ich suche jetzt eine Möglichkeit, die schon eingefügten Daten bei Spiel 1 in die Felder von Spiel 1, gebraucht zu setzen. Es soll nichts komplett automatisches für die DB sein, ich mache das gern für jeden Datensatz einzeln. Mein Ansatz war so:

Nimm USK, Bild, Text von Artikel 21271 und setze die Werte bei Artikel 21370 ein.

hat jemand eine Idee?

vielen Dank


Ja. Wirf das weg. Du hast ein kapottes Tabellendesign, das wird Dir noch öfter schmerzhaft auf die Zehen fallen.

Falls Du dennoch schmerz- und lernresistent bist:

Code:
test=# select * from netgames ;
 ean |  name   |    bild
-----+---------+-------------
 123 | spiel 1 | tolles bild
 123 | spiel 1 |
(2 rows)

test=*# update netgames set bild = x.bild from (select ean, bild from netgames where bild is not null) x where netgames.ean=x.ean and netgames.bild is null;
UPDATE 1
test=*# select * from netgames ;
 ean |  name   |    bild
-----+---------+-------------
 123 | spiel 1 | tolles bild
 123 | spiel 1 | tolles bild
(2 rows)

Andreas
 

NETGAMES

Benutzer
Beiträge
14
So sieht meine Tabelle wirklich aus, bin erst seit grade hier, ich kann leider auch nur aus dem SQL Tool unserer WAWI auf die Daten zugreifen.

Mir wäre wichtig: Langtext, Werbetext1, Bild1-Bild10, Zusatzfeld02 zu übernehmen, wenn nicht schon vorhanden, und vllt. in dem Aufwasch noch die Warengruppe des gebrauchten Artikels zu ändern.


Artikel Mandant Art Artikelnummer EANNummer Zusatznummer Warengruppe Umsatzsteuer Währung Multimedia Bezeichnung Bezeichnung2 Bezeichnung3 Bezeichnung4 Bezeichnung5 Preiseinheit Einheit EK Kosten LEK VK1 VK2 VK3 VK4 VK5 Letzte Preisänderung Bestand Inventur Mindestbestand Reserviert Bestellt Letzte Bewegung Verkaufskonto Verkaufsonderkonto EGFibuKonto Einkaufskonto PreiseNetto Lagerartikel Rabattfähig Langtextausgabe Stücklistenausgabe Lieferbar ABestellen Provisionsfähig Altteilsteuer Internet Katalog Kein_Skonto Kein_Gesamtrabatt Stücklistenumsatz Stücklistenbuchen StücklisteinPosten LanginPosten SNPflicht StellPflicht ArtikelTouchpos Kein_KundenUmsatz WaageEAN Display AnzahlEAN VMP Differenzbesteuerung KassePreiseingabe Provision Volumen Nettogewicht Bruttogewicht Umsatz Einkauf Umsatzübertrag Einkaufübertrag Sonderpreis SPreisVon SPreisBis SPreis Sonderrabatt Selekt Mody Hauptlager Lagernummer Lagerort1 Lagerort2 ZusatzFeld01 ZusatzFeld02 ZusatzFeld03 ZusatzFeld04 ZusatzFeld05 ZusatzFeld06 ZusatzFeld07 ZusatzFeld08 ZusatzFeld09 ZusatzFeld10 ZusatzFeld11 ZusatzFeld12 ZusatzFeld13 ZusatzFeld14 ZusatzFeld15 ZusatzFeld16 ZusatzFeld17 ZusatzFeld18 ZusatzFeld19 ZusatzFeld20 ZusatzFeld21 ZusatzFeld22 ZusatzFeld23 ZusatzFeld24 Grundpreiseinheit Grundpreisfaktor Bonus Gutschrift Zubuchungseinheit Abbuchungseinheit Verpackungseinheit Multi1 Multi2 Multi3 Vertrag Auswahl Fertigung VK6 VK7 VK8 VK9 KassenDatum MEK Dispo Hersteller Herstellernr Texteingabe Eigen1 Eigen2 LinkName1 LinkName2 Meldebestand Maximalbestand EK_Aenderung_zum EKNEU Ebaystartpreis Ebaysofortpreis Ebaymindestpreis Off_von Off_bis Druckupdate Garantie Verpackungsauswahl PARS PARSFUNK EBay Werkstoffnr Abmessung Laenge Breite Warennummer Eingang Eingangsland Update Bondrucker Amazon AFS_dummy Langtext Bemerkung Zusatz1 Zusatz2 Zusatz3 Langtext2 Langtext3 Langtext4 Langtext5 Werbetext1 Werbetext2 Werbetext3 Werbetext4 Werbetext5 Bild1 Bild2 Bild3 Bild4 Bild5 Bild6 Bild7 Bild8 Bild9 Bild10 Video Sound Hinweis Eigenschaften1 Eigenschaften2 Link1 Link2 LagerInfo Warengruppen Ebaybeschreibung
19751 1 0 15759 5030932067876 5030932076090 119 1 2 0 Fifa 2009 - XB360 1 Stück 19 0 0 10 10 0 0 0 40561 5 1 1 0 0 41089 0 0 0 0 Falsch Wahr Wahr Falsch Falsch Wahr Wahr Wahr Falsch Falsch Falsch Falsch 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Vitrex BOX 24 PLATZ 24 0 Stück 1 0 0 0 0 0 0 0 0 0 0 0 0 38153 0 0 0 0 0 0 0 0 0 0 40561 0 0 0 0 0 41107 0 Die EM ist überstanden, aber der Kampf um den Pokal bleibt hart! Geh in FIFA 09 auf den Platz und spiel professionellen Fußball, so wie du ihn dir vorstellst. \\Afs-server\daten\bilder\XB360\Fifa 2009 - XB360.jpg
21248 1 0 17022 5030932067876 5030932076090 23 3 2 0 Fifa 2009, gebraucht - XB360 1 Stück 0 0 0 10 10 0 0 0 40561 3 1 0 0 0 41446 0 0 0 0 Falsch Wahr Wahr Falsch Falsch Wahr Wahr Falsch Falsch Falsch Falsch Falsch 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Case X70b 0 Stück 1 0 0 0 0 0 0 0 0 0 0 0 0 38153 0 0 0 0 0 0 0 0 0 0 40561 0 0 0 0 0 41447 0
 

akretschmer

Datenbank-Guru
Beiträge
9.851
Artikel Mandant Art Artikelnummer EANNummer Zusatznummer Warengruppe Umsatzsteuer Währung Multimedia Bezeichnung Bezeichnung2 Bezeichnung3 Bezeichnung4 Bezeichnung5 Preiseinheit Einheit EK Kosten LEK VK1 VK2 VK3 VK4 VK5 Letzte Preisänderung Bestand Inventur Mindestbestand Reserviert Bestellt Letzte Bewegung Verkaufskonto Verkaufsonderkonto EGFibuKonto Einkaufskonto PreiseNetto Lagerartikel Rabattfähig Langtextausgabe Stücklistenausgabe Lieferbar ABestellen Provisionsfähig Altteilsteuer Internet Katalog Kein_Skonto Kein_Gesamtrabatt Stücklistenumsatz Stücklistenbuchen StücklisteinPosten LanginPosten SNPflicht StellPflicht ArtikelTouchpos Kein_KundenUmsatz WaageEAN Display AnzahlEAN VMP Differenzbesteuerung KassePreiseingabe Provision Volumen Nettogewicht Bruttogewicht Umsatz Einkauf Umsatzübertrag Einkaufübertrag Sonderpreis SPreisVon SPreisBis SPreis Sonderrabatt Selekt Mody Hauptlager Lagernummer Lagerort1 Lagerort2 ZusatzFeld01 ZusatzFeld02 ZusatzFeld03 ZusatzFeld04 ZusatzFeld05 ZusatzFeld06 ZusatzFeld07 ZusatzFeld08 ZusatzFeld09 ZusatzFeld10 ZusatzFeld11 ZusatzFeld12 ZusatzFeld13 ZusatzFeld14 ZusatzFeld15 ZusatzFeld16 ZusatzFeld17 ZusatzFeld18 ZusatzFeld19 ZusatzFeld20 ZusatzFeld21 ZusatzFeld22 ZusatzFeld23 ZusatzFeld24 Grundpreiseinheit Grundpreisfaktor Bonus Gutschrift Zubuchungseinheit Abbuchungseinheit Verpackungseinheit Multi1 Multi2 Multi3 Vertrag Auswahl Fertigung VK6 VK7 VK8 VK9 KassenDatum MEK Dispo Hersteller Herstellernr Texteingabe Eigen1 Eigen2 LinkName1 LinkName2 Meldebestand Maximalbestand EK_Aenderung_zum EKNEU Ebaystartpreis Ebaysofortpreis Ebaymindestpreis Off_von Off_bis Druckupdate Garantie Verpackungsauswahl PARS PARSFUNK EBay Werkstoffnr Abmessung Laenge Breite Warennummer Eingang Eingangsland Update Bondrucker Amazon AFS_dummy Langtext Bemerkung Zusatz1 Zusatz2 Zusatz3 Langtext2 Langtext3 Langtext4 Langtext5 Werbetext1 Werbetext2 Werbetext3 Werbetext4 Werbetext5 Bild1 Bild2 Bild3 Bild4 Bild5 Bild6 Bild7 Bild8 Bild9 Bild10 Video Sound Hinweis Eigenschaften1 Eigenschaften2 Link1 Link2 LagerInfo Warengruppen Ebaybeschreibung
19751 1 0 15759 5030932067876 5030932076090 119 1 2 0 Fifa 2009 - XB360 1 Stück 19 0 0 10 10 0 0 0 40561 5 1 1 0 0 41089 0 0 0 0 Falsch Wahr Wahr Falsch Falsch Wahr Wahr Wahr Falsch Falsch Falsch Falsch 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Vitrex BOX 24 PLATZ 24 0 Stück 1 0 0 0 0 0 0 0 0 0 0 0 0 38153 0 0 0 0 0 0 0 0 0 0 40561 0 0 0 0 0 41107 0 Die EM ist überstanden, aber der Kampf um den Pokal bleibt hart! Geh in FIFA 09 auf den Platz und spiel professionellen Fußball, so wie du ihn dir vorstellst. \\Afs-server\daten\bilder\XB360\Fifa 2009 - XB360.jpg
21248 1 0 17022 5030932067876 5030932076090 23 3 2 0 Fifa 2009, gebraucht - XB360 1 Stück 0 0 0 10 10 0 0 0 40561 3 1 0 0 0 41446 0 0 0 0 Falsch Wahr Wahr Falsch Falsch Wahr Wahr Falsch Falsch Falsch Falsch Falsch 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Case X70b 0 Stück 1 0 0 0 0 0 0 0 0 0 0 0 0 38153 0 0 0 0 0 0 0 0 0 0 40561 0 0 0 0 0 41447 0

Meine mentalen Fähigkeiten zum parsen solcher Texte sind leider begrenzt.
 

NETGAMES

Benutzer
Beiträge
14
du beziehst dich ja dabei immer auf die gleiche ean, ich suche irgendwie eine möglichkeit, wo ich sagen kann: nimm die felder (bezeichnung, Langtext, Webetext1, Bild 1 und Zusatzfeld02 [das kann vllt. schon beschrieben sein] von der artikelnummer 15759, und setz die bei der artikelnummer 17022 wieder ein
 

akretschmer

Datenbank-Guru
Beiträge
9.851
du beziehst dich ja dabei immer auf die gleiche ean, ich suche irgendwie eine möglichkeit, wo ich sagen kann: nimm die felder (bezeichnung, Langtext, Webetext1, Bild 1 und Zusatzfeld02 [das kann vllt. schon beschrieben sein] von der artikelnummer 15759, und setz die bei der artikelnummer 17022 wieder ein

Ja, ich hab versucht, es universell zu machen. Was hindert Dich, die WHERE-Conditions auf Deine genannten Artikelnummern zu ändern?
 

NETGAMES

Benutzer
Beiträge
14
eine mangelnde bildung bei SQL befehlen, ich verstehe zwar viele, kann sie aber auf probleme schlecht anwenden.

ich hätte gern so etwas banales wie oben beschrieben, wo ich immer nur die artikelnummer ändenr muss ;-)
 

NETGAMES

Benutzer
Beiträge
14
ich versuch es mal selber zu pimpen, wie du sagtest, an meiner testdatenbank, ich dank dir schonmal, wenn ich nicht weiter komme, hörst du von mir. schönen abend und danke nochmal
 

NETGAMES

Benutzer
Beiträge
14
update Artikel set bild1 = x.bild1 from (select EANNummer, bild1 from artikel
where bild1 is not null) x where artikel.eannummer=x.eannummer and artikel.bild1 is null

habe ich auf meiner testdatenbank versucht, wobei ich das schema von dem bild oben nachbaute, das kam dabei raus:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from (select EANNummer, bild1 from artikel where bild1 is not null) x where art' at line 1
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.851
update Artikel set bild1 = x.bild1 from (select EANNummer, bild1 from artikel
where bild1 is not null) x where artikel.eannummer=x.eannummer and artikel.bild1 is null

habe ich auf meiner testdatenbank versucht, wobei ich das schema von dem bild oben nachbaute, das kam dabei raus:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from (select EANNummer, bild1 from artikel where bild1 is not null) x where art' at line 1

Das hatte ich schon fast befürchtet - geht nicht mit dieser Spielzeug-DB.
 
Oben