Like %Spalte% geht nicht ?!

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

  • #16
    Oh Sorry, ja Du muss auch heftiger Winken

    Was soll ich noch groß dazu sagen !?

    Dachte eigentlich das schon alles klar ist.... aber nunja...

    also.. ab geht das.

    Habe ne Tabelle mit PLZ;Ort;Landkreis;Bundesland;

    [COLOR=orangered]69126;Heidelberg;Rhein Neckarkreis;Baden Würtemberg;
    50608| 51143| 51147| 51149;Köln;Kreisfreie stadt Köln;Nordrhein Westfalen;[/COLOR]

    Mit dem bereits erwähnten Code wird für 69126 das korrekte Bundesland übergeben. (Also alle Adressen WHERE plz = 69126 erhalten in die spalte Bundesland den Eintrag "Baden Würtemberg"

    So nun aufgepasst: Köln hat mehrere PLZ's.

    Hat nun jemand die PLZ 51143 dann soll natürlich auch Köln;Stadt Köln;NRW übergeben werden.

    Deshalb das LIKE '%newplz.plz%'

    Die Spalte PLZ sieht auch real genau so aus wie oben beschrieben, also mit "|[space]"

    Die PLZ des Kunden ist IMMER 5-Stellig, also muss es funktionieren.

    Nur leider werden die Zeilen geupdatet wo in der newplz.plz auch nur EINE PLZ drin steh. Sobald 2 oder mehr drin stehen klappt es nicht mehr..

    Iss mir Anfangs nicht aufgefallen da SQL mir KEINE Fehlermeldung ausgeworfen hat und auch einige Tausend Query geupdatet hat.

    So es geht nun wirklich nur um die Platzhalter im SQL


    Cuu Susi
    PHP 8.0, MariaDB 10.5 auf U20.04

    Kommentar


    • #17
      Zeig bitte mal eine reale Query und den entsprechenden Datensatz aus der DB, der nicht aktualisiert wird.

      Kommentar


      • #18
        Nagut.

        Hier die PLZ Tabelle mit der abgeglichen werden soll:
        PHP-Code:
        INSERT INTO `newplzVALUES (6930'50667| 50668| 50670| 50672| 50674| 50676| 50677| 50678| 50679|
         50733| 50735| 50737| 50739| 50765| 50767|
         50769| 50823| 50825| 50827| 50829| 50858|
         50859| 50931| 50933| 50935| 50937| 50939|
         50968| 50969| 50996| 50997| 50999| 51061|
         51063| 51065| 51067| 51069| 51103| 51105| 
        51107| 51109| 51143| 51145| 51147| 51149'
        ,
         
        'Köln''Nordrhein Westfalen''Kreisfreie Stadt Köln'
         'Köln'
        'K''05315000'); 
        Und hier die Tab wo 'nacheinander' landkreis und Bundesland geUpdated werden sollen:
        PHP-Code:
        INSERT INTO `adressen
        VALUES (8251NULL'FirmenName''''Kalkverbotsstrasse 8 ''51103''Köln''Landkreis Aurich''Saarland',
         
        '0221''86410''0221''8681429'
        NULLNULLNULL'75.89''95.29''115.39'
        NULLNULL''''1'0'26734'2007-06-24 00:14:43'); 
        Also hier z.B. ist Landkreis Aurich und Saarland natürlich nicht richtig.
        Wie gesagt passiert das nur sobald in 'newplz' mehrere PLZ's in einem Feld sind.

        Cu susi
        Zuletzt geändert von SusiSorglos; 24.06.2007, 19:25.
        PHP 8.0, MariaDB 10.5 auf U20.04

        Kommentar


        • #19
          Bitte Code umbrechen.
          Zeig jetzt mal die Abfrage, die nciht funktioniert?

          Kommentar


          • #20
            PHP-Code:
            UPDATE adressennewplz
            SET adressen
            .landkreis newplz.landkreisadressen.bundesland newplz.bundesland
            WHERE adressen
            .plz like CONCAT('%',newplz.plz,'%'
            Habe es grade mal in PMA eingegeben und statt CONCAT(...) einfach mal 51143 drangehangen. Es wird nur Müll geupdatet.

            Jetzt bekomme ich als Bundesland "BW" und als Landkreis "Konstanz"

            Führe ich einen Select in newplz direkt aus ist alles korrekt.

            ---------
            Je länger ich drüber nachdenke glaube ich das ab dem WHERE was falsch läuft:
            [COLOR=green]WHERE adressen.plz like CONCAT('%',newplz.plz,'%')[/COLOR]

            Muss man es nicht genau anders herum schreiben ?
            Zuletzt geändert von SusiSorglos; 24.06.2007, 21:11.
            PHP 8.0, MariaDB 10.5 auf U20.04

            Kommentar

            Lädt...
            X