Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Daten aus einer Zeile in eine andere bestehende Zeile kopieren

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von NETGAMES, 24 Juni 2013.

  1. NETGAMES

    NETGAMES Benutzer

    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
     
  2. akretschmer

    akretschmer Datenbank-Guru


    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 gefällt das.
  3. NETGAMES

    NETGAMES Benutzer

    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
     
  4. akretschmer

    akretschmer Datenbank-Guru

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

    NETGAMES Benutzer

  6. NETGAMES

    NETGAMES Benutzer

    sorry, ich dachte hier kann man aus XLS Datein gleich rienkopieren, ohne dass die Form platzt ;-)
     
  7. akretschmer

    akretschmer Datenbank-Guru

    Nun ja, brauchst ja mein SQL nur etwas zu pimpen ;-)
     
  8. NETGAMES

    NETGAMES Benutzer

    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
     
  9. akretschmer

    akretschmer Datenbank-Guru

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

    NETGAMES Benutzer

    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 ;-)
     
  11. NETGAMES

    NETGAMES Benutzer

    und wobei alle felder auf einem mal kopier werden
     
  12. akretschmer

    akretschmer Datenbank-Guru

    welchen Teil meiner Demo hast Du jetzt nicht verstanden?
    (wobei ich mir nicht sicher bin, ob das unter MySQL so funktioniert...)
     
  13. NETGAMES

    NETGAMES Benutzer

    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
     
  14. NETGAMES

    NETGAMES Benutzer

    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
     
  15. akretschmer

    akretschmer Datenbank-Guru

    Das hatte ich schon fast befürchtet - geht nicht mit dieser Spielzeug-DB.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden