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

Bestimmte Daten aus Artikeltabelle in Merkmaltabelle speichern

Dieses Thema im Forum "SQLite" wurde erstellt von SA-Luebeck, 14 Dezember 2019.

  1. SA-Luebeck

    SA-Luebeck Neuer Benutzer

    Hallo an Alle,



    ich habe ein Problem und komme nicht weiter. Ich hoffe, dass mir jemand hilft:
    upload_2019-12-14_15-10-47.png
    Ich habe eine Tabelle „tArtikel“, in der alle Artikel aufgelistet sind. Die Artikel, die eine Endung „-00“ haben, soll die Farbe schwarz zugewiesen werden. Allerdings ist bei den Artikeln das Problem, dass einige Artikel bereits die Farbe schwarz verfügen, sodass es bei meiner SQL-Anweisung eine Fehlermeldung erscheint, dass die Farbe bereits zugewiesen ist.

    In der Tabelle „tArtikelMerkmal“ werden den Artikeln die Farbwerte zugewiesen (kMerkmal= 10 = Farbe und kMerkmalWert=9666= blau).

    Nun meine Frage:

    Ich kann die Artikel filtern, die die Farbe schwarz nicht verfügen:

    Select kMerkmal, kMerkmalWert, KArtikel from tArtikelMerkmal where kArtikel = (Select * from tArtikel where cArtNr=‘SA-%%-00‘) and kMerkmalWert !=6666 (schwarz).



    Nach dieser Abfrage erscheint eine Liste mit über 2700 Werten. Wie kann ich nun diese Ergebnisse in die Tabelle tArtikelMerkmal mit der Farbe einfügen.



    Ich habe bereits versucht die Methode INSERT INTO anzuwenden. Aber auch da kam eine Fehlermeldung, weil man bi diesem Befehl maximal 1000 Zeilen in Anspruch nehmen kann und bei einem INSERT INTO VALUES Befehl nicht nur ein kArtikel zugewiesen wird, sondern alle.



    Ich habe schon gesucht und bin da auf den Befehl if not esists gekommen.



    LG



    SA_Luebeck
     
  2. akretschmer

    akretschmer Datenbank-Guru

    etwas wirr das alles, aber vielleicht hilft dies:

    Code:
    bdr3=# select * from tartikel ;
     kartikel |    cartnr   
    ----------+--------------
            1 | SA-123456-00
            2 | SA-654321-00
            3 | SA-987654-00
            4 | SA-456789-00
    (4 rows)
    
    bdr3=# select * from kartikelmerkmal ;
     kmerkmal | kmerkmalwert | kartikel
    ----------+--------------+----------
           10 |         9666 |        7
           20 |         6999 |       99
           30 |         8955 |      100
           40 |         8855 |      202
    (4 rows)
    bdr3=# insert into kartikelmerkmal select 10,6666,kartikel from (select kartikel from tartikel where cartnr like '%-00' except select kartikel from kartikelmerkmal) foo;
    INSERT 0 4
    bdr3=# select * from kartikelmerkmal ;
     kmerkmal | kmerkmalwert | kartikel
    ----------+--------------+----------
           10 |         9666 |        7
           20 |         6999 |       99
           30 |         8955 |      100
           40 |         8855 |      202
           10 |         6666 |        1
           10 |         6666 |        4
           10 |         6666 |        2
           10 |         6666 |        3
    (8 rows)
    
    
     
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