Announcement

Collapse
No announcement yet.

WHERE und DISTINCT kombinieren?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • WHERE und DISTINCT kombinieren?

    Hallo zusammen,

    Ich habe eine Datenbank, welche so aufgebaut ist:

    Koordinaten | ID | Name | Ort | Datum

    Die ersten 4 Felder sind klar. Dort sind halt diverse Personen mit einer ID und den jeweiligen Koordinaten eingetragen. Diese Personen haben dann aber auch noch verschiedene Daten (Feld 5, alles andere identisch) eingetragen. Es kann also sein dass für eine Person 200 Daten (Feld 5) eingetragen sind, wobei die ersten 4 Felder logischerweise immer dieselben sind.

    Die Koordinaten werden nun mithilfe von PHP/JS auf einer Karte dargestellt. Im moment für jeden Eintrag in DER DB einen Punkt auf der Karte. Es kann also sein, wenn jemand 200 Daten eingetragen hat, dass auf der Karte auch 200 Punkte gemacht werden (was jedoch darstellungstechnisch egal ist, da die Punkte übereinander sind).

    Nun möchte ich jedoch verständlicherweise, das pro Person/ID nur 1 Punkt gemacht wird.


    Meine bisherige Abfrage sieht so aus:

    SELECT koordinaten FROM tabelle WHERE id = '38'

    (Wenn die Person mit der ID 38 Daten eingetragen hat, liefert mir SQL nun 200 Resultate zurück)


    Nun habe ich es mit der DISTINCT und IN Funktion versucht:

    SELECT koordinaten FROM tabelle WHERE id = '38' IN (SELECT DISTINCT id FROM tabelle)

    Doch das führte leider auch nicht zum gewünschten Ergebnis.


    Ich hoffe ich habe mich verständlich ausgedrückt und wäre um jegliche Hilfe dankbar!

  • #2
    Hallo hct0,

    DISTINCT ist schon ganz richtig, nur an der falschen Stelle eingesetzt:
    [highlight=SQL]
    SELECT DISTINCT koordinaten
    FROM tabelle
    WHERE id = '38'
    [/highlight]
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment

    Working...
    X