Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] MySQL Abfrage Ohne Dubletten

Einklappen

Neue Werbung 2019

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

  • #16
    Code:
    SUBSTRING_INDEX(MerchantProductCategory, '/', 1)
    wenn du diese Anweisung im SELECT stehen hast, dann heisst auch dein Feld im Ergebnisarray in PHP so. Einen Alias kannst du benutzen, um den Spaltennamen auf ein leserliches und verwendbares Format zu ändern. Alias werden mit dem Schlüsselwort AS definiert. Schau mal in der MySQL-Doku beim SELECT-Befehl die Parameter an, da steht das mit dabei. In der WHERE-Bedinung nutzt es dir nix.
    PHP online testen, zum Beispiel: md5, base64_decode, preg_match, urldecode und viele weitere...

    Kommentar


    • #17
      Zitat von jabubo Beitrag anzeigen
      Code:
      SUBSTRING_INDEX(MerchantProductCategory, '/', 1)
      wenn du diese Anweisung im SELECT stehen hast, dann heisst auch dein Feld im Ergebnisarray in PHP so. Einen Alias kannst du benutzen, um den Spaltennamen auf ein leserliches und verwendbares Format zu ändern. Alias werden mit dem Schlüsselwort AS definiert. Schau mal in der MySQL-Doku beim SELECT-Befehl die Parameter an, da steht das mit dabei. In der WHERE-Bedinung nutzt es dir nix.
      Habe mir folgenden Link angeschaut:

      http://dev.mysql.com/doc/refman/5.1/de/select.html

      Allerdings finde ich dort nichts was in meinen Vorhaben zu verwenden ist. Ich stehe echt auf dem Schlauch - Google schon die ganze zeit rum aber finde nichts wirkliches...wobei ich denke dass ich ja schon auf dem richtigen Weg bin

      Kommentar


      • #18
        SELECT DISTINCT SUBSTRING_INDEX ..... AS aha ..... FROM ....

        steht doch schon im zweiten Beitrag !

        SELECT DISTINCT SUBSTRING_INDEX(MerchantProductCategory, '/', 1) AS alles_vor_dem_ersten_slash
        Geh von der Leitung runter !
        Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.

        Kommentar


        • #19
          Zitat von Koala Beitrag anzeigen
          SELECT DISTINCT SUBSTRING_INDEX ..... AS aha ..... FROM ....

          steht doch schon im zweiten Beitrag !



          Geh von der Leitung runter !
          heißt wenn ich es so ausführe müsste es gehen oder wie:
          SELECT DISTINCT SUBSTRING_INDEX(MerchantProductCategory, '/', 1) AS $test FROM shop

          und dann nur noch echo $test oder wie?!

          Der Schlauch ist glaub ich einfach zu groß...

          Kommentar


          • #20
            Mysql-Bezeichner benötigen kein Dollarzeichen

            PHP-Code:
            $sql "SELECT DISTINCT SUBSTRING_INDEX(MerchantProductCategory, '/', 1) AS loesung FROM shop";
            $erg mysql_query($sql) or die(mysql_error());
            while ( 
            $row mysql_fetch_assoc($erg) ) {
              echo 
            $row['loesung'] . '<br />';

            [PHP]if ($var != 0) {
            $var = 0;
            }[/PHP]

            Kommentar


            • #21
              Zitat von Wolla Beitrag anzeigen
              Mysql-Bezeichner benötigen kein Dollarzeichen

              PHP-Code:
              $sql "SELECT DISTINCT SUBSTRING_INDEX(MerchantProductCategory, '/', 1) AS loesung FROM shop";
              $erg mysql_query($sql) or die(mysql_error());
              while ( 
              $row mysql_fetch_assoc($erg) ) {
                echo 
              $row['loesung'] . '<br />';

              Ahh ok - ich verstehe - kann ich das auch mit 2 verschiedenen "Trennern" ausführen also '/' OR '|' ??

              Kommentar


              • #22
                mE nicht . aber ich würde dringend das Datenbank-Design umstricken ..

                1 Zelle sollte immer exakt 1 Datenwert enthalten

                1/2/3 sind 3 Werte - wenn du davon nur 1 brauchst - dann zieh diese "Mischspalte" auseinander und mach 3 draus ..

                und warum stehen da auch noch Buchstaben drin ?? ....
                "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                Kommentar


                • #23
                  Zitat von eagle275 Beitrag anzeigen
                  mE nicht . aber ich würde dringend das Datenbank-Design umstricken ..

                  1 Zelle sollte immer exakt 1 Datenwert enthalten

                  1/2/3 sind 3 Werte - wenn du davon nur 1 brauchst - dann zieh diese "Mischspalte" auseinander und mach 3 draus ..

                  und warum stehen da auch noch Buchstaben drin ?? ....
                  Das würde ich auch machen wenn es meine Daten wären aber ich bekomme diesen als Export und es sind 1 Mio Daten - also das Händisch zu ändern wäre eine Meeeenge arbeit aber wenn das andere nicht geht muss ich eben einen anderen längeren Weg gehen.

                  Dank an Alle...

                  Kommentar


                  • #24
                    Zitat von Rutor Beitrag anzeigen
                    Ahh ok - ich verstehe - kann ich das auch mit 2 verschiedenen "Trennern" ausführen also '/' OR '|' ??
                    Funktionen können auch geschachtelt werden, du könntest ein REPLACE vorschalten. http://dev.mysql.com/doc/refman/5.1/...nction_replace

                    Kommentar


                    • #25
                      Man könnte die erhaltenen Daten ja auch aus der Erfassungstabelle zunächst sequentiell in die Livetabelle überspielen und dabei so umformatieren, dass spätere Queries schnell und einfach funktionieren.
                      Sind das Messwerte?
                      [PHP]if ($var != 0) {
                      $var = 0;
                      }[/PHP]

                      Kommentar

                      Lädt...
                      X