Like %Spalte% geht nicht ?!

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

  • Like %Spalte% geht nicht ?!

    Hallo Ihr lieben,

    Hab da noch so meine Probleme mit der Syntax.

    Ich möchte um den SpaltenNamen ein [COLOR=green]%[/COLOR] haben, nur ich bekomme
    es einfach nicht hin, habe schon ne menge Vorzeichen ausprobiert
    Kann mir jemand verraten wie es richtig geht !?
    PHP-Code:
    UPDATE kundennewplz
    SET kunden
    .bundesland newplz.bundesland
    WHERE kunden
    .plz like %newplz.plz
    Cu Susi
    PHP 8.0, MariaDB 10.5 auf U20.04

  • #2
    evt.
    WHERE kunden.plz like CONCAT('%',newplz.plz,'%')
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Re: Like %Spalte% geht nicht ?!

      Original geschrieben von SusiSorglos
      Hallo Ihr lieben,

      Hab da noch so meine Probleme mit der Syntax.

      Ich möchte um den SpaltenNamen ein [COLOR=green]%[/COLOR] haben, nur ich bekomme
      es einfach nicht hin, habe schon ne menge Vorzeichen ausprobiert
      Kann mir jemand verraten wie es richtig geht !?
      PHP-Code:
      UPDATE kundennewplz
      SET kunden
      .bundesland newplz.bundesland
      WHERE kunden
      .plz like %newplz.plz
      Cu Susi
      Hallo,

      Du musst Dein Suchwort in Anfürungszeichen setzen. Dann sollte es gehen.

      UPDATE kunden, newplz SET kunden.bundesland = newplz.bundesland WHERE kunden.plz like '%suchwort%'

      mfg. Nico
      Webspace , Php

      Kommentar


      • #4
        Warum eigentlich LIKE?

        Du willst allen Kunden, die irgendwie in ihrer aktuellen Postleitzahl eine gewissen Zahlenkombination haben, die selbe "neue" Postleitzahl geben?

        Kommentar


        • #5
          Original geschrieben von prego
          Du willst allen Kunden, die irgendwie in ihrer aktuellen Postleitzahl eine gewissen Zahlenkombination haben, die selbe "neue" Postleitzahl geben?
          Nicht die PLZ soll upgedated werden, sondern das Bundesland.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            @ Nico
            newplz.plz iss kein Suchwort sondern eine Spalte


            Thänx @ MelloPie. So hat's geklappt.
            Für die die jetzt nicht verstanden haben was ich wollte:

            Ich habe eine Tabelle mit allen PLZ's und den dazugehörigen Bundesländern -> Landkreisen -> KFZ Zeichen usw.

            Da Großstädte aber mehrere PLZ's haben habe ich für z.B. Köln alle in eine Spalte geschrieben und durch ein | getrennt.

            [COLOR=green]50608|51143|51149|51147[/COLOR] usw.usw.

            In PHP iss das kein Problem für mich gewesen aber SQL werd ich wohl nie verstehen ;-)

            Es liegt wohl auch an der Doku von mySQL. Dort findet man einfach keine schönen Beispiele (so wie in der PHP-Manual)
            Habe jetzt immer noch nicht verstanden was CONCAT eigentlich bewirkt. Aber ich werde noch dahinter kommen..

            Cu & thänxx

            Susij
            PHP 8.0, MariaDB 10.5 auf U20.04

            Kommentar


            • #7
              CONCAT verbindet Strings

              Übrigens: Normalisierung?
              Dein Datenbank-Schema ist schlecht und dein WHERE plz LIKE-Query dürfe im live-Betrieb echt tödlich sein...

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar


              • #8
                Hmmm. Ich dachte so wie ich es vorher hatte wäre es schlecht.
                Vorher:
                Alles in einer Tabelle.
                [COLOR=green]Anschrift-Kategorie-Timestamp(s)-Berechtigung-Benutzername-Passwort[/COLOR]
                Also Rund 34 Spalten bei ca 25.000 Einträgen.

                Jetzt MÖCHTE ich

                [COLOR=green]KNR-Benutzername-Passwort[/COLOR] in eine Tabelle
                und alles weitere per [COLOR=red]$_Session (knr)[/COLOR] verlinken.

                Die 25.000 Einträge je nach Kategorie (es gibt zur Zeit 2) in 2 Tabellen aufteilen. Da wie ich meine es wohl schneller ist
                eine kleine Tabelle zu durchsuchen wie eine große.

                Der User kann nach ([COLOR=red]plz%, %ort%, vorwahl%, %name%[/COLOR]) suchen, sowie nach (= Bundesland) und dem daraus Resultierendem (= Landkreis)

                Wie sollte ich es sonst machen? - Es läuft eigentlich recht schnell!

                Oder meinst Du das UPDATE wonach ich fragte? Das war nur ne einmalige Sache. Hat ca 200 Sekunden gedauert
                Wollte nur alle Suchergebnisse einheitlich haben damit nach Bundesland bzw. Landkreis gesucht werden kann.

                Die Tabelle (newplz) wird nur dazu benötigt das wenn sich jemand Einträgt das er anhand der PLZ direkt seinem Bundesland & Landkreis zugeordnet wird. Das kommt aber in der Regel selten vor (~ 1 x Woche) da es sich um eine (sagen wir mal) FirmenDB handelt und sich da nicht jeden Tag welche hinzu kommen.
                Zumal schon ca. 99 bzw. 90% der Firmen eingetragen sind (je nach Kategorie).

                Zuletzt geändert von SusiSorglos; 15.05.2007, 09:20.
                PHP 8.0, MariaDB 10.5 auf U20.04

                Kommentar


                • #9
                  also 25000 Einträge sind nicht wirklich viel, da brauchste keine 2 tabellen.
                  Beantworte nie Threads mit mehr als 15 followups...
                  Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                  Kommentar


                  • #10
                    Naja gut. Ich bin aber jetzt schon dabei alles umzustellen und je nach Kategorie werden nicht alle Spalten benötigt. also wird es sicherlich ein vorteil sein.

                    Aber ist ist wohl vorteilhafter wenn ich wenigstens die Benutzer in eine eigene Tabelle speichere?! Und diese per KNR verlinke ?
                    Dies wollte ich (wie bisher) per Session machen.
                    PHP 8.0, MariaDB 10.5 auf U20.04

                    Kommentar


                    • #11
                      dann würde ich trotzdem nicht nach kategorien die tabelen teilen sondern logisch normalisieren.
                      Beantworte nie Threads mit mehr als 15 followups...
                      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                      Kommentar


                      • #12
                        PHP-Code:
                        UPDATE adressennewplz
                        SET adressen
                        .ort newplz.ort
                        WHERE adressen
                        .plz like CONCAT('%',newplz.plz,'%'
                        Brauche da doch nochmal Hilfe

                        Und zwar ist mir grade aufgefallen das mein letztes Update gar nicht zu 100% geklappt hat.

                        Und zwar habe ich ja meine Tabelle(n) mit dem obigen Befehl geupdated.

                        Jetzt erst ist mir aufgefallen das CONCAT('%',newplz.plz,'%') zwar keinen Fehler bringt aber leider auch nicht zum Ziel führt.

                        Einige Orte haben ja mehrere PLZ's (50608| 51143| 51147| 51149) z.B.

                        Wie gesagt iss der befehl nur ne einmalige Sache. Also nicht wieder gleich schimpfen.

                        Cu Susi
                        PHP 8.0, MariaDB 10.5 auf U20.04

                        Kommentar


                        • #13
                          Und zwar ist mir grade aufgefallen das mein letztes Update gar nicht zu 100% geklappt hat.
                          Hmmm also wenn ich mal scharf über diese Fehlerbeschreibung nachdenke würde ich sagen, es liegt daran, dass du etwas falsch gemacht hast.
                          Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                          Kommentar


                          • #14
                            Ja, ich merk schon Du bist ein Helles Köpfchen. Hilft mir nun aber auch nicht weiter.

                            Kann mir jemand weiterhelfen und mir erklären warum es mit dem '%newplz.plz%' nicht klappt ?!

                            Cu Susi
                            PHP 8.0, MariaDB 10.5 auf U20.04

                            Kommentar


                            • #15
                              Vielleicht war der Wink doch einfach zu undeutlich.

                              Gib uns eine Fehlerbeschreibung!!!

                              Besser?

                              Was heißt denn bitte "es geht nicht"? Sollen wir hellsehen, wass der MySQL-Server bei dir gemacht und was nicht, oder was? Ja moment ich hole schnell das Pendel und besorge noch etwas schweineblut beim Mitternachtsmetzger.

                              Was genau ist passiert? Was ist nicht passiert? Das nennt man Fehlerbeschreibung!
                              Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                              Kommentar

                              Lädt...
                              X