jimbob: SELECT STATEMENT HILFE BITTE!

hallo,

ich habe folgendes problem:
ich habe zwei normalisierte tabellen login und instant
wenn in instant ein datensatz ist welcher in der Spalte gelesen FALSE hat, dann woll er mir diesen ausgeben, jedoch nur den vom datum her neuesten! also immer nur einen!!

SELECT DISTINCT ReceiverID, SenderID, Nickname, NOW()-Zeit_Datum AS 'Timer'  FROM Instant,Login WHERE Instant.ReceiverID='3' AND Instant.SenderID=Login.UserID AND Instant.Gelesen='FALSE'

(also ich will immer nur den datensatz mit dem kleinsten 'Timer'  von einer SenderID egal wieviele drinnen sind und Gelesen='False' sind!

mit dieser abfrage gibt er mit natürlich alle aus weil sie ja nicht übereinstimmen und distinct hier nicht zieht!

wie kann ich das sonst machen?
THX, im voraus

jimbob!

  1. hi,

    ich habe folgendes problem:

    dein erste problem ist, dass du keine ahnung hast, wie man sich im netz benimmt.
    GROSSSCHREIBUNG gilt als schreiben, der zusatz HILFE BITTE im titel ist auch vollkommen überflüssig.

    stattdessen solltest du einen _sinnvollen_ titel wählen, der dein problem kurz beschreibt.

    bitte lies mal die </faq/>.

    wenn in instant ein datensatz ist welcher in der Spalte gelesen FALSE hat, dann woll er mir diesen ausgeben, jedoch nur den vom datum her neuesten! also immer nur einen!!

    dann musst du ja irgendein kriterium haben, welches den datensatz als "neuer als die anderen" kennzeichnet, z.b. ein datumsfeld.

    also kannst du nach diesem sortieren (ORDER BY), und die ergebnismenge auf einen datensatz beschränken (LIMIT 1).

    gruss,
    wahsaga

    1. Hallo wahsaga,

      GROSSSCHREIBUNG gilt als schreiben, ...

      ^
      ja, sollte man annehmen. *rofl*
      aber wir wissen ja, was du meinst. ;-)

      freundl. Grüße aus Berlin, Raik