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

In eine bestehende MySQL Tabelle Excel Werte einfügen

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Dani1993, 16 September 2014.

  1. Dani1993

    Dani1993 Benutzer

    Hallo,

    ich habe folgendes Problem:
    Ich habe eine MySQL Tabelle mit Teilenummern, Bezeichnung, Anlagedatum usw.
    Dazu habe ich eine Excel Tabelle mit Teilenummern und dem durchschnittlichen Verbrauch.
    Ich möchte nun den durchschnittlichen Verbrauch in die MySQL Tabelle hinzufügen. Problem ist, dass in der Excel Tabelle nicht alle Teilenummern vorhanden sind und ich die Teilenummern der Excel Tabelle den Teilenummern der MySQL Tabelle zuordnen muss.
    Beispiel:
    MySQL Tabelle: Excel Tabelle
    Teilenummern Teilenummern Verbrauch
    1 ; 1; 2
    2 ; 2; 3,5
    3 ; 8; 5
    4 ; 12; 1,25
    5 ; 13 ; 3,85

    Es soll nun wie folgend aussehen:
    Teilenummern Verbrauch
    1; 2
    2; 3,5
    3; 0
    4; 0
    5; 0
    6; 0
    7; 0
    8; 5
    usw usw



    Würde mich sehr über ein paar Tipps und Ratschläge freuen
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Exportiere das aus Excel als CSV, lade das in MySQL in eine neue Tabelle, mache ein Update auf Deine bestehende Tabelle und nutze dazu einen JOIN.
     
  3. Dani1993

    Dani1993 Benutzer

    Die CSV Datei habe ich schon in MySQL in eine neue Tabelle geladen.
    Kannst du mir beim Update und dem JOIN helfen wie ich das machen muss?
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Im Prinzip so:

    Code:
    test=*# select * from t1;
     id | val
    ----+-----
      1 |
      2 |
      3 |
      4 |
      5 |
    (5 rows)
    
    test=*# select * from t2;
     id | val
    ----+-----
      1 |  3
      2 |  4
      3 |
      4 |  10
      5 |  20
    (5 rows)
    
    test=*# update t1 set val=t2.val from t2 where t1.id=t2.id;
    UPDATE 5
    test=*# select * from t1;
     id | val
    ----+-----
      1 |  3
      2 |  4
      3 |
      4 |  10
      5 |  20
    (5 rows)
    
     
  5. Dani1993

    Dani1993 Benutzer

    Ich habe nun die Abfrage erstellt und es kommt das richtige Ergebnis raus. Allerdings wird das nicht gespeichert sondern nur solange angezeigt wie man auch die Abfrage offen lässt.
    Wie kann man nun die Abfrage speichern?
     
  6. akretschmer

    akretschmer Datenbank-Guru

    Commit vergessen?
     
  7. ukulele

    ukulele Datenbank-Guru

    Hast du nur einen Join in einer Abfrage eingesetzt oder hast du einen Update Befehl benutzt?
     
  8. Dani1993

    Dani1993 Benutzer

    Habe nur die JOIN Abfrage benutzt
     
  9. akretschmer

    akretschmer Datenbank-Guru

    Wenn Du eine Tabelle ändern willst mußt auch UPDATE verwenden...
     
  10. Dani1993

    Dani1993 Benutzer

    wie sieht denn dann der UPDATE Befehl aus?
     
  11. ukulele

    ukulele Datenbank-Guru

    Im Wesentlichen
    Code:
    UPDATE tablename SET column = 'value' WHERE ...
    akretschmer hat mit
    Code:
    update t1 set val=t2.val from t2 where t1.id=t2.id;
    schon einen Weg gezeigt wie man UPDATE mit einem JOIN Kombiniert denn hier wird der Wert für t1 aus t2 ausgelesen.
     
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