Frage zu einer SQL Abfrage Textfelder vergleichen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage zu einer SQL Abfrage Textfelder vergleichen

    Im Grunde ist die Abfrage sehr leicht und sie klappt auch. Nur werden manche Artikelnummern nicht erkannt und dadurch nicht in die Zieltabelle geschrieben.

    Kann mir einer erklären warum das so ist?

    Dies ist die Abfrage

    Code:
    Update nlgartikel,artikel_vater Set nlgartikel.Vater = artikel_vater.Vaterartikel_ArtNr where nlgartikel.ARTNR = artikel_vater.Artikelnummer;
    Das sind die Tabellen:

    Code:
    CREATE TABLE `nlgartikel` (
    	`ARTNR` TEXT NOT NULL,
    	`BARCODE` TEXT NOT NULL,
    	`BEZEICHNUNG` TEXT NOT NULL,
    	`KURZBESCH` TEXT NOT NULL,
    	`BESCHREIBUNG` TEXT NOT NULL,
    	`VKBRUTTO` TEXT NOT NULL,
    	`MWST` TEXT NOT NULL,
    	`UVP` TEXT NOT NULL,
    	`EINHEIT` TEXT NOT NULL,
    	`GEWICHT` TEXT NOT NULL,
    	`VKHBRUTTO` TEXT NOT NULL,
    	`EKNETTO` TEXT NOT NULL,
    	`LIEFNR` TEXT NOT NULL,
    	`MINDESTAB` TEXT NOT NULL,
    	`LAGERBEST` TEXT NOT NULL,
    	`LIEFERSTATUS` TEXT NOT NULL,
    	`PREISLISTE` TEXT NOT NULL,
    	`TOPART` TEXT NOT NULL,
    	`NEU` TEXT NOT NULL,
    	`AKTIV` TEXT NOT NULL,
    	`GRUNDPREIS` TEXT NOT NULL,
    	`GRUNDPREIS EINHEIT` TEXT NOT NULL,
    	`GRUNDPREIS WERT` TEXT NOT NULL,
    	`INHALT` TEXT NOT NULL,
    	`HAN` TEXT NOT NULL,
    	`BILD1` TEXT NOT NULL,
    	`BILD2` TEXT NOT NULL,
    	`BILD3` TEXT NOT NULL,
    	`BILD4` TEXT NOT NULL,
    	`LAGERAKTIV` TEXT NOT NULL,
    	`WEBSHOP AKTIV` TEXT NOT NULL,
    	`KLEINERNULL` TEXT NOT NULL,
    	`TEILBAR` TEXT NOT NULL,
    	`HERSTELLER` TEXT NOT NULL,
    	`ANZAHL-P1` TEXT NOT NULL,
    	`PREIS-P1` TEXT NOT NULL,
    	`ANZAHL-P2` TEXT NOT NULL,
    	`PREIS-P2` TEXT NOT NULL,
    	`ANZAHL-P3` TEXT NOT NULL,
    	`PREIS-P3` TEXT NOT NULL,
    	`ANZAHL-P4` TEXT NOT NULL,
    	`PREIS-P4` TEXT NOT NULL,
    	`ANZAHL-P5` TEXT NOT NULL,
    	`PREIS-P5` TEXT NOT NULL,
    	`ANZAHL-H1` TEXT NOT NULL,
    	`PREIS-H1` TEXT NOT NULL,
    	`ANZAHL-H2` TEXT NOT NULL,
    	`PREIS-H2` TEXT NOT NULL,
    	`ANZAHL-H3` TEXT NOT NULL,
    	`PREIS-H3` TEXT NOT NULL,
    	`ANZAHL-H4` TEXT NOT NULL,
    	`PREIS-H4` TEXT NOT NULL,
    	`ANZAHL-H5` TEXT NOT NULL,
    	`PREIS-H5` TEXT NOT NULL,
    	`EBAYPREIS` TEXT NOT NULL,
    	`ANMERKUNGEN` TEXT NOT NULL,
    	`ANGEBOT` TEXT NOT NULL,
    	`SUCHBEGRIFFE` TEXT NOT NULL,
    	`KATEGORIE` TEXT NOT NULL,
    	`KATEGORIE2` TEXT NOT NULL,
    	`KATEGORIE3` TEXT NOT NULL,
    	`KATEGORIE4` TEXT NOT NULL,
    	`KATEGORIE5` TEXT NOT NULL,
    	`Spalte 63` TEXT NOT NULL,
    	`ID` INT(11) NOT NULL AUTO_INCREMENT,
    	`Vater` TEXT NOT NULL,
    	`Variationsname` TEXT NOT NULL,
    	`Darstellungsform` TEXT NOT NULL,
    	`Variationswertname` TEXT NOT NULL,
    	`Rubrik` TEXT NOT NULL,
    	`Thema` TEXT NOT NULL,
    	`Interesse` TEXT NOT NULL,
    	`Oberbegriff` TEXT NOT NULL,
    	`Unterbegriff` TEXT NOT NULL,
    	`Hersteller-Verlag` TEXT NOT NULL,
    	PRIMARY KEY (`ID`)
    )
    COLLATE='latin1_swedish_ci'
    ENGINE=MyISAM
    AUTO_INCREMENT=24060;
    sowie

    Code:
    CREATE TABLE `artikel_vater` (
    	`Artikelnummer` TEXT NULL,
    	`Vaterartikel_ArtNr` TEXT NULL,
    	`Freispalte` INT(11) NOT NULL AUTO_INCREMENT,
    	PRIMARY KEY (`Freispalte`)
    )
    COLLATE='latin1_swedish_ci'
    ENGINE=MyISAM
    AUTO_INCREMENT=6527;
    Die Artikelnummern sind sehr verschieden so das ich keine INT nehmen kann (Bsp: 47121-9, F123, EN-895, FS-017-BF, 73132)

    Ich weiß das die Felder nicht richtig normalisiert sind. Aber für die Sache wie ich es nutze reicht es aus. Alles klappt soweit wie ich es brauche. Aber einzig die Artikelnummer bei dieser Abfrage wird nur zu ca 95% erkannt.

    Wer kann mir dazu helfen?
    Zuletzt geändert von chrischnian; 09.05.2014, 21:51. Grund: Thema ist abgeschlossen

  • #2
    Versuch mal :
    Update nlgartikel Set Vater = Vaterartikel_ArtNr from artikel_vater where Vaterartikel_ArtNr = "****";Vielleicht klappt das ja.

    Es gibt noch ne Variante:
    Update nlgartikel set Vater = (select Vaterartikel_ArtNr from artikel_vater where Vaterartikel_ArtNr = "****");
    Zuletzt geändert von Nils81; 09.05.2014, 09:23.

    Kommentar


    • #3
      Danke Nils81 aber ich habe den Fehler gefunden es waren Whitespaces noch versteckt.

      Diese entferne ich nun durch ein replace und nun geht es perfekt.

      Kommentar

      Lädt...
      X