phpmyadmin bricht mit Fehlermeldung ab

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

  • #16
    Original geschrieben von antman
    Bekomme so immer noch 2 identische Zeilen bis auf den Suchtext.
    Also bekommst du ja wohl 2 verschiedene Datensätze, oder nicht?

    mySQL weiß nicht, welchen der beiden Datensätze, die sich im Suchtext unterscheiden, du haben willst, daher bekommst du beide.
    Wenn es dir egal ist, dann lass den Suchtext weg; wenn es dir nicht egal ist, dann brauchst du doch beide Suchtexte und damit auch beide Datensätze oder?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #17
      Nein es ist nicht egal. Die Artikelnummer sind eindeutig.
      Es dürfen keine 2 Zeilen mit gleichen Artikelnummern zurückgegeben werden. Eine Zeile hat jeweils einen Suchtext und die andere nicht.
      Dieses Problem konnte ich beheben. Es werden aber nicht alle Artikel zurückgegeben zu denen es eine Deutsche Beschreibung/deutschen Suchtext, etc gibt. Artikel die nach Deutschland geliefert werden gibt es 307. Er gibt aber nur 198 raus.

      Habe noch ein t7.lang = 'de' eingefügt nun ist die doppelte suchtext Zeile weg. Was ist aber mit den Artikeln die er zurückbehält?

      PHP-Code:
      SELECT DISTINCT t4.artikelnummert1.name artikelbezeichnung,
       
      t1.category,
      t3.description artikelbeschreibung,
      CONCAT(t4.anz_vpe' x 't4.vpe' 't4.massverpackungsinhalt,
      t2.artikelnummer herstellernummer,
      CONCAT('http://www.ourdomain.de/images/shop/products/',
       
      t6.pictureartikelbild,
      CONCAT('http://www.ourdomain.de/images/shop/products/',
       
      REPLACE(t6.picture'.jpg''-t.jpg')) artikelbildklein,
      t7.keywords suchtext,
      t4.ab1 empfendverbrauchpreis,
      t8.zolltarifnr zolltarifnummer,
      t4.ab1 ab1,
      t4.ab4 ab4,
      t4.ab6 ab6,
      t4.ab4 ab12
      FROM bestellinfo t4
      INNER JOIN products t1 ON 
      (t2.pid t1.pid)
      INNER JOIN lnk_product_item t2 ON 
      (t2.artikelnummer t4.artikelnummer)
      INNER JOIN artikeldetails t3 ON 
      (t4.artikelnummer t3.artikelnummer)
      INNER JOIN lnk_item_pic t5 ON 
      (t4.id t5.id_artikelnummer)
      INNER JOIN picture t6 ON (t5.id_bild t6.id_pic)
      INNER JOIN productinfo t7 ON (t1.pid t7.pid)
      INNER JOIN products_hyrachie t8 ON 
      (t1.category t8.cat_id)
      WHERE  t3.lang 'de'
      AND    t7.lang 'de' 
      Kommt es hier auf die Reihenfolge der JOINS an?
      Als erstes steht dort ja FROM bestellinfo t4. Muss als nächstes ein INNER JOIN KOMMEN mit ... ON (t4.artikelnummer = ...) ?
      Zuletzt geändert von antman; 12.01.2005, 13:29.
      Pickel ? Übergewicht ? Depressionen ?
      Brot, Kartoffeln und Milch sind Gift!
      http://www.paleofood.de

      Kommentar


      • #18
        Unfassbar:

        PHP-Code:
        SELECT DISTINCT 
        t4
        .artikelnummert1.name artikelbezeichnungt1.category,
        t3.description artikelbeschreibung,
        CONCAT(t4.anz_vpe' x 't4.vpe' 't4.massverpackungsinhalt,
        t2.artikelnummer herstellernummer,
        IF (
        t6.picture IS NULL' '
        CONCAT('http://www.ourdomain.de/images/shop/products/'t6.picture)) 
        artikelbild,
        IF (
        t6.picture IS NULL' '
        CONCAT('http://www.ourdomain.de/images/shop/products/',
         
        REPLACE(t6.picture'.jpg''-t.jpg'))) 
        artikelbildklein,
        t7.keywords suchtext,
        t4.ab1 empfendverbrauchpreis,
        IF (
        t8.zolltarifnr 0' 't8.zolltarifnrzolltarifnummer,
        t4.ab1 ab1,
        t4.ab4 ab4,
        t4.ab6 ab6,
        t4.ab4 ab12
        FROM bestellinfo t4
        LEFT JOIN lnk_product_item t2 ON 
        (t2.artikelnummer t4.artikelnummer)
        LEFT JOIN products t1 ON 
        (t2.pid t1.pid)
        LEFT JOIN artikeldetails t3 ON 
        (t4.artikelnummer t3.artikelnummer)
        LEFT JOIN lnk_item_pic t5 ON 
        (t4.id t5.id_artikelnummer)
        LEFT JOIN picture t6 ON 
        (t5.id_bild t6.id_pic)
        LEFT JOIN productinfo t7 ON 
        (t1.pid t7.pid)
        LEFT JOIN products_hyrachie t8 ON 
        (t1.category t8.cat_id)
        WHERE  t3.lang 'de'
        AND    t7.lang 'de' 
        Bei den Artikelnummern die mehre als einem Produkt zugeordnet sind, kommt mehr als eine Zeile pro Artikelnummer zurück (Tabelle lnk_product_item). Weiß nicht, wie ich dieses Problem lösen kann.
        Könnte jemand bitte helfen ?
        Zuletzt geändert von antman; 12.01.2005, 13:31.
        Pickel ? Übergewicht ? Depressionen ?
        Brot, Kartoffeln und Milch sind Gift!
        http://www.paleofood.de

        Kommentar


        • #19
          Produkte nicht selektieren
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #20
            "produkte" sind doch gar nicht selektiert.
            Das gleiche Problem tritt auch auf, wenn einem Artikel mehrer Bilder zugeordnet sind.
            Zuletzt geändert von antman; 12.01.2005, 15:09.
            Pickel ? Übergewicht ? Depressionen ?
            Brot, Kartoffeln und Milch sind Gift!
            http://www.paleofood.de

            Kommentar


            • #21
              Original geschrieben von antman
              SELECT DISTINCT
              [...]
              t1.name artikelbezeichnung,
              t1.category,
              [...]
              FROM bestellinfo t4
              LEFT JOIN lnk_product_item t2 ON
              (t2.artikelnummer = t4.artikelnummer)
              LEFT JOIN products t1 ON
              (t2.pid = t1.pid)
              [...]
              Sicher, dass du nichts selektierst aus der Tabelle?

              Ich traue mich fast zu wetten, dass du bei den Datensätzen zwar die gleiche Artikelnummer hast, aber sich die anderen Sachen, (z. B. die aus t1) unterscheiden
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #22
                Ich traue mich fast zu wetten, dass du bei den Datensätzen zwar die gleiche Artikelnummer hast, aber sich die anderen Sachen, (z. B. die aus t1) unterscheiden
                Ja sicher unterscheiden die sich. Das ist das Problem. Hatte ich doch geschrieben. Einen Beitrag über diesem.

                Das Problem ist, dass manche Artikel zu mehren Produkten gehören, z. B. leere Nachfüllflaschen. Und manche Artikelnummern haben mehrere Bilder. Und genau diese beiden Arten tauchen doppelt auf.

                Mir fehlt aber was Wissen wie ich dieses Problem lösen kann.
                Ich glaube das geht nur mit php, oder?

                Das ganze muss wie gesagt nach XML exportiert werden. Unser Partner braucht aber eine Datei in der die Artikelnummern einzigartig sind und auch nur ein Bild pro Artikel.
                Zuletzt geändert von antman; 12.01.2005, 15:16.
                Pickel ? Übergewicht ? Depressionen ?
                Brot, Kartoffeln und Milch sind Gift!
                http://www.paleofood.de

                Kommentar


                • #23
                  Das geht, indem du dir darüber klar wirst, was genau du denn haben willst?

                  Wenn es zu Artikelnummer 4711 zwei Produktbezeichnungen gibt, nämlich "Nachfüllflasche 1 Liter" und "Schokoladenkuchen", was willst du haben?
                  1. 4711 - Nachfüllflasche 1 Liter
                    4711 - Schokoladenkuchen

                    Das bekommst du ja schon
                  2. 4711
                      Nachfüllflasche 1 Liter
                      Schokoladenkuchen

                    Das bekommst du auch, in PHP benötigst du noch "Gruppenwechsel" als Stichwort für die Suche
                  3. 4711
                    Produktbezeichnung nicht selektieren
                  4. Was anderes, das du uns doch bitte mitteilen möchtest
                  EDIT:
                  Lies aus, so wie bisher und packe alles in ein Array, bei dem du die Artikelnummer als Inde verwendest. Dadurch überschreibt ein zweiter Eintrag mit der gleichen Artikelnummer den schon imArray vorhandenen. Funktioniert, wenn es egal ist, welches Bild ausgewählt wird, aber das ist es ja glaube ich
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #24
                    Also ich hätter gerne Punkt 1):

                    4711 - 1 Liter Nachfüllflasche

                    Aber ohne die zweite Zeile.

                    Ich schrieb ja, dass eine Artikelnummer mehrere Bilder haben kann.
                    Daran wird es vielleicht deutlicher.

                    Also sagen wir es gibt ein Bild der Nachfüllflasche wie sie nachgefüllt aussieht und eines auf dem sie leer ist.
                    Nun hat unser Partner aber in seiner XML Datei nur Platz für ein Bild:

                    <bild>nachfuellflasche_voll.jpg</bild>

                    Also muss ein in Abfrage über Bord geschmissen werden. Nur wie mache ich das ?
                    Pickel ? Übergewicht ? Depressionen ?
                    Brot, Kartoffeln und Milch sind Gift!
                    http://www.paleofood.de

                    Kommentar


                    • #25
                      So wie in meinem Edit?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #26
                        Ja so habe ich es ungefähr gerade gelöst. Danke.
                        Also mit SQL unmöglich in solch einem Fall, oder?
                        Pickel ? Übergewicht ? Depressionen ?
                        Brot, Kartoffeln und Milch sind Gift!
                        http://www.paleofood.de

                        Kommentar


                        • #27
                          Nein, aber umständlich und wahrscheinlich nicht unbedingt performanter, es sei denn, du kannst mit Subselects arbeiten
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar

                          Lädt...
                          X