Daten Zusammenfassen

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

  • Daten Zusammenfassen

    Hallo,

    ich habe eine Produktdatenbank und sollte diese nach verschiedenen Kriterien durchsuchen um zu sehen welches Produkt passt, das Problem ist, dass die Produkte zum teil doppelt und dreifach in der Datenbank sind, jedoch mit einer anderen Größenangabe.
    Jetzt sollte ich die Artikel zusammenfassen ...

    Meine Datenbank sieht ungefähr so aus ...
    id|titel|laenge|windungen

    1|M3 Schrauben (100 stk)|40|330
    2|M3 Schrauben (1000 stk)|40|330
    3|M3 Schrauben (10000 stk)|40|330
    4|M4 Schrauben (100 stk)|40|330
    5|M4 Schrauben (1000 stk)|40|330
    6|M4 Schrauben (10000 stk)|40|330

    In PHP Bekomme ich die Klammer ohne Probleme ersetzt aber ich bekomme die Artikel nicht zusammengefasst ...

    PHP-Code:
    $prod_name=str_replace(strrchr($row[titel],"("),"",$row[titel]); 
    Was ich eignetlich nur bräuchte währe die id und der titel der jeweiligen Schraube.
    Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

  • #2
    Nimm die Packungsgrösse nicht nur aus dem Titel, sondern überhaupt aus dieser Tabelle raus und mache eine eigene daraus (bzw. zwei). Dann hast du auch nur einen Eintarg pro Schraubenart (mit einer ID!), und dein Problem ist faktisch gelöst.
    Gruss
    H2O

    Kommentar


    • #3
      Hallo,

      würde ich ja gerne aber geht nicht, da das Warenwirtscharftsprogramm drauf zugreift, und die einträge seit eh und jeh so in der Datenbank stehen (weiß auch nicht was sich mein Vorgänger gedacht hat) ...
      Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

      Kommentar


      • #4
        Re: Daten Zusammenfassen

        Original geschrieben von theone

        Was ich eignetlich nur bräuchte währe die id und der titel der jeweiligen Schraube.
        Dann wirst du das nie hinkriegen, da du zu jedem Titel mehrere ID's hast. Also musst du dich für Titel oder ID entscheiden.
        Dafür ist der ganze Rest der Daten redundant.
        Gruss
        H2O

        Kommentar


        • #5
          Ich bräuchte nur die erste ID aus der Datenbank von dem Artikel ...

          es reicht wenn ich die abfrage mit ORDER BY id starte, weil die Artikel in der richtigen Reihenfolge gelistet sind.
          Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

          Kommentar


          • #6
            Versuch es mal mit
            Code:
            SELECT 
            	MIN(id),
            	SUBSTR(titel, 1, (INSTR(titel, '(') - 1)) kurztitel
            FROM
            	artikel
            GROUP BY
            	kurztitel
            ORDER BY
            	id
            Gruss
            H2O

            Kommentar


            • #7
              You have an error in your SQL syntax.
              Check the manual that corresponds to
              your MySQL server version for the right
              syntax to use near '(Produktname, 1,
              (INSTR(Produktname, '(') - 1)) kurztitel FROM

              PHP-Code:
              $result=MYSQL_QUERY("SELECT MIN(id),
              SUBSTR(Produktname, 1, (INSTR(Produktname, 
              '(') - 1)) kurztitel FROM erp_artikel GROUP BY
              kurztitel ORDER BY id"
              ) or die(mysql_error()); 
              Zuletzt geändert von theone; 06.08.2008, 10:32.
              Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

              Kommentar


              • #8
                Ich sehe im ersten Moment keinen Fehler, ausser dass ich es sehr ärgerlich finde, wenn ich versuche, anständig formatierte Abfragen zu posten und du machst dann daraus einen Bandwurm, der zum horizontal scrollen zwingt.

                Hast du die Abfrage mal im PMA getestet?
                Gruss
                H2O

                Kommentar


                • #9
                  Sorry ...

                  SELECT MIN( id ) , SUBSTR(
                  Produktname, 1, (
                  INSTR( Produktname, '(' ) -1
                  )
                  )kurztitel
                  FROM erp_artikel
                  GROUP BY kurztitel
                  ORDER BY id
                  LIMIT 0 , 30

                  #1064 - You have an error in your SQL syntax.
                  Check the manual that corresponds to your MySQL
                  server version for the right syntax to use near
                  '( Produktname , 1 , ( INSTR( Produktname , '(' ) - 1 ) ) kurzti
                  Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

                  Kommentar


                  • #10
                    Original geschrieben von H2O
                    Hast du die Abfrage mal im PMA getestet?
                    EDIT:
                    Sorry, das kam ja aus dem PMA.
                    Versuche mal
                    Code:
                    SELECT
                    	SUBSTR(titel, 1, 8)
                    FROM
                    	erp_artikel

                    Zuletzt geändert von H2O; 06.08.2008, 10:46.
                    Gruss
                    H2O

                    Kommentar


                    • #11
                      PMA? Wenn du PHP My Admin meinst ja ...
                      Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

                      Kommentar


                      • #12
                        Habe grade noch was gesehen:
                        SUBSTR() is a synonym for SUBSTRING(). It was added in MySQL 4.1.1.
                        Falls du also mit einer Uraltversion von MySQL arbeiten solltest, musst du SUBSTRING() benutzen
                        Gruss
                        H2O

                        Kommentar


                        • #13
                          aha! merci jetzt geht es!
                          Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

                          Kommentar

                          Lädt...
                          X