Wieder mal ne Abfrage..

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

  • Wieder mal ne Abfrage..

    kurz und schmerzlos gesagt: aus doppelte datenszäte nur den aktuellsten..

    die tabelle sieht so aus:

    id(pk) pid uid date
    0 4 2 ...
    1 6 3 01.01.00
    2 6 3 20.12.07
    3 2 5 ...


    wenn ich jetzt sage:
    PHP-Code:
    select from tabelle 
    möchte ich gerne folgendes zurückbekommen:

    id(pk) pid uid date
    0 4 2 ...
    2 6 3 20.12.07 <-- nur diesen! da der aktuellste!
    3 2 5 ...


    ist mein vorhaben klar geworden?
    wenn ja, wie könnte die abfrage aussehen?
    Zuletzt geändert von brainwave8; 26.02.2007, 12:46.

  • #2
    ist mein vorhaben klar geworden?
    Nö nicht wirklich...
    Willst du denn nur (1) dieses Datum oder einfach (2) das Datumsfeld aller Datensätze ?
    (1) Dann musst du den Select mittels WHERE einschränken
    (2) Dann einfach ein Select nach date

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      PHP-Code:
      WHERE id 
      ??

      ansonsten problem genauer beschreiben, oder ich bin zu doof und kapier einfach nicht was du genau möchtest

      Kommentar


      • #4
        also ich möchte alle datensätze (deshalb *)

        nun gibt es doppelte datensätze, die sich nur in der eigenschaft id und date unterscheiden. davon möchte ich gerne nur den aktuellsten datensatz zurückbekommen.

        bsp:
        es gibt 2 datensätze mit der pid = 6 und uid = 3.
        die beiden zeilen unterscheiden sich nur im date.
        beim select * möchte ich nur die aktuellste zeile aus dieser 2 zeilen
        + alle andere datensätze zurückbekommen.

        Kommentar


        • #5
          ach ja...ich benutze MS SQL!

          Kommentar


          • #6
            könntest du dann nicht stat einem 2en INSERT ein Update des eintrages machen, mit dem selben pid und uid ?

            ansonsten such mal nach DISTINCT

            Kommentar


            • #7
              könntest du dann nicht stat einem 2en INSERT ein Update des eintrages machen, mit dem selben pid und uid ?
              #
              nein, kann ich nicht machen.

              Kommentar


              • #8
                ich habe jetzt folgendes versucht:

                PHP-Code:
                select distinct(pid), useridid.. from tabelle group by pid 
                ich bekomme eine fehlermeldung wegen dem group by..

                Kommentar


                • #9
                  am besten mal dies hier lesen!


                  klick


                  Abfragen, wie "SELECT name, DISTINCT geburtsjahr FROM personen" führen zu einer FEHLERMELDUNG ! - Es ist dem DBMS nicht möglich, alle namen anzuzeigen, aber gleichzeitig Personen mit gleichem Geburtsjahr zu unterdrücken.

                  Kommentar


                  • #10
                    dann ist distinct abgehackt.

                    nun hab eich es auch mit gourp by versucht. leider auch hier
                    kein erfolg gehabt

                    Kommentar


                    • #11
                      Das wirst du auch so nicht lösen können ... das wäre ein GROUP BY mit voriger Sortierung, mysql kann das nicht und ich glaub oracle auch nicht, dass gerade mssql das dann können soll... ^^,

                      afaik kann man das irgendwie mit Subquery lösen, aber wie... (und ob mssql das überhaupt kann...)
                      vielleicht irgendwas allá
                      SELECT id, (SELECT MAX(datum) FROM tabelle b WHERE a.id = b.id) FROM tabelle a
                      oder so ... ka, hab mich noch nie näher damit beschäftigt

                      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                      Wie man Fragen richtig stellt

                      Kommentar


                      • #12
                        ich benutze ms sql und kein mysql. von daher sind subselects kein thema!

                        Kommentar


                        • #13
                          Original geschrieben von brainwave8
                          ich benutze ms sql und kein mysql. von daher sind subselects kein thema!
                          bist du dir sicher dass es in mssql keine subquerys gibt?
                          hab nur mal so rein interessenshalber google gefragt!


                          blub

                          Kommentar


                          • #14
                            zu 99,9% sicher

                            Kommentar


                            • #15
                              mach doch einfach ein ORDER BY Datum und schränke das Ergebnis mit LIMIT ein.

                              Und schon hast du dein Ergebnis!

                              Kommentar

                              Lädt...
                              X