Doppeltes auslesen verhindern (aus zwei spalten)

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

  • Doppeltes auslesen verhindern (aus zwei spalten)

    Hi Leute,

    ich habe eine Tabelle in der Form:

    ID - WERT
    1 - a
    2 - b
    3 - c
    4 - a
    5 - a


    Wie kann ich verhindern, dass das "a" dreimal ausgelesen wird?
    Code sieht so aus:

    PHP-Code:
    $erg_a mysql_query("SELECT DISTINCT wert FROM tabelle ORDER BY wert "); 
    while(
    $erg_a_row=mysql_fetch_array($erg_a)) { 
    echo 
    "$erg_a_row[wert] <br>";

    Ich habe es bereits mit SELECT DISTINCT versucht, will aber nicht klappen.


    Ein witeres Problem ist folgendes:

    Die Tabelle sieht weiter so aus:

    ID - WERT1 - WERT2
    1 - a - a
    2 - b - a
    3 - c - b
    4 - a - c
    5 - a - c

    Ich möchte, dass es beide Spalten ausließt und die Einträge nach Alphabet ordnet (so als ob es in einer Spalte stehen würde.
    Zudem sollen auch wieder die doppelten Einträge rausgefiltert werden.
    Am Ende soll einfach "abc" rauskommen.

    Ich hoffe, dass das zu lösen ist
    arrays sind klasse

  • #2
    1.
    SELECT DISTINCT geht nicht ?? merkwürdig ... sollte eigentlich funktionieren.

    2.
    Wirst du nicht durch ein SQL-Statement hinbekommen.

    Kommentar


    • #3
      PHP-Code:
      ...SELECT concat(wert1,wert2) AS alpha FROM tabelle GROUP BY alpha ORDER by alpha ... 
      ungerprüft sollte aber klappen.
      mit concat, verbindest du die spalten zu einen string.
      Mit group, fasst du gleiche strings zusammen, und order weisst du sicher auch selbst.


      gruss

      rth
      H I L F E
      GD FreeType Antialising
      Gesuch PHP Entwicklungsumgebung
      ------------------------------------------
      Der Cmabrigde rael tset, sruf whoin du wlilst

      Kommentar


      • #4
        Okay - das eine klappt (herausfiltern von doppelten einträgen), aber das andere noch nicht so recht.

        CONCAT stimmt hier nicht ganz, da es die spalten zusammenfasst. Also aus
        WERT1=a und WERT2=b wird "ab".

        In diesen Zeichenketen gibt es insgesamt nur drei werte: "a,b,c"

        ID - WERT1 - WERT2
        1 - a - a
        2 - b - a
        3 - c - b
        4 - a - c
        5 - a - c

        jetzt wirft er aber folgendes aus: "a,ba,cb,ac"

        Wie bekommt man da jetzt nur "a,b,c" heraus?
        arrays sind klasse

        Kommentar


        • #5
          ich bleib dabei

          Kommentar


          • #6
            wirklich?
            finde ich schade, dass mysql nicht diese funktion unterstützt
            arrays sind klasse

            Kommentar


            • #7
              Jo das hab ich dann wohl falsch verstanden, mit den 2 tabellen, da muss ich graf wohl recht geben
              Aber ich sehe du hast ja anscheinend ne lösung auf php basis gefunden

              gruss

              rth

              pp (thread)
              H I L F E
              GD FreeType Antialising
              Gesuch PHP Entwicklungsumgebung
              ------------------------------------------
              Der Cmabrigde rael tset, sruf whoin du wlilst

              Kommentar

              Lädt...
              X