AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sortierung

Ein Thema von Ykcim · begonnen am 24. Jun 2010 · letzter Beitrag vom 29. Jun 2010
Antwort Antwort
schlecki

Registriert seit: 11. Apr 2005
Ort: Darmstadt
148 Beiträge
 
Delphi XE2 Enterprise
 
#1

AW: Sortierung

  Alt 29. Jun 2010, 08:54
probier mal

SQL-Code:
SELECT
  A.Datum, A.Verfasser, A.ArtikelNr, A.Kommentar
FROM
  kommentterminV A
WHERE Datum = (
  SELECT
    MAX(B.Datum)
  FROM
    kommentterminV B.
  WHERE A.ArtikelNr = B.ArtikelNr)
das sollte klappen...
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#2

AW: Sortierung

  Alt 29. Jun 2010, 09:00
Hallo,

Danke für die Antwort,

das bringt mir das gleiche Ergebnis. Ich habe auch nicht erkannt, wo der Unterschied liegt und habe es deshlab einfach rauskopiert und ausprobiert - aber das Ergebnis ist das gleiche... es werden nur die Kommentare mit dem neusten Datum überhaupt angezeigt, und die Kommentare von anderen Artikeln, deren neustes Datum älter ist, bleiben unberücksichtigt...

Ykcim
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#3

AW: Sortierung

  Alt 29. Jun 2010, 09:20
Das kann ich hier nicht nachvollziehen (MySQL 5.1.41). Welchen Typ hat denn Datum? Obwohl das eigentlich egal sein müsste.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#4

AW: Sortierung

  Alt 29. Jun 2010, 10:17
Das Datum hat das Forma DateTime

Ich habe es jetzt in zwei Abfragen gelöst, die ich in meinem Programm dann zusammengebracht habe...

SQL-Code:
SELECT
  max(Datum), Verfasser, ArtikelNr, Kommentar
FROM
  kommentterminV
group by ArtikelNr
order by datum DESC
Hier wird das richtige Datum und zur richtigen ArtikelNr herangezogen. Kommentar und Verfasser sind jedoch falsch, da sie von dem ersten Kommentar stammen.

SQL-Code:
SELECT
  Datum, Verfasser, ArtikelNr, Kommentar
FROM kommentterminV
Hier habe ich alle Kommentare. Aus der Kombination Datum und ArtikelNr kann ich in meinem Programm den entsprechenden Kommentar rausholen.

Wenn es eine elegantere Lösung gibt, bin ich dafür immer zu haben. Schön ist nämlich was anderes...

Ich habe noch einmal zwei Bilder mitgeschickt. In dem ersten wird die komplette Tabelle dargestellt und ich habe die gewünschten Ergebnisse rot markiert.

In dem zweiten Bild findet Ihr das Ergebnis des in #23 geposteten Code.

Ykcim
Angehängte Grafiken
Dateityp: jpg SOLL-Ergebnis.jpg (146,0 KB, 8x aufgerufen)
Dateityp: jpg IST-Ergebnis.jpg (77,7 KB, 6x aufgerufen)
Patrick

Geändert von mkinzler (29. Jun 2010 um 13:57 Uhr) Grund: Code-Tag durch SQL-Tag ersetzt
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#5

AW: Sortierung

  Alt 29. Jun 2010, 10:19
Und wie sieht das Ergebnis der Abfrage aus #3 mit den beiden Aliasen aus?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#6

AW: Sortierung

  Alt 29. Jun 2010, 10:34
Sorry, aber ich verstehe Deine Frage nicht.

Ist das nicht das gleiche?

Das ist Dein Code aus #3:
SQL-Code:
SELECT
  Datum, Verfasser, ArtikelNr, Kommentar
FROM
  Tabelle A
WHERE Datum = (
  SELECT
    MAX(Datum)
  FROM
    Tabelle B
  WHERE B.ArtikelNr = A.ArtikelNr)
Da ich nur eine Tabelle habe, habe ich der Tabelle A und der Tabelle B meinen Tabellennamen KommentterminV gegeben.

SQL-Code:
 SELECT
  Datum, Verfasser, ArtikelNr, Kommentar
FROM
  kommentterminV
WHERE Datum = (
  SELECT
    MAX(Datum)
  FROM
    kommentterminV
  WHERE kommentterminV.ArtikelNr = kommentterminV.ArtikelNr)
Das Ergbnis ist das, was ich vorher eingestellt habe (IST-Ergebnis)

Habe ich das falsch verstanden?

Ykcim
Patrick

Geändert von mkinzler (29. Jun 2010 um 13:57 Uhr) Grund: Code-Tag durch SQL-Tag ersetzt
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#7

AW: Sortierung

  Alt 29. Jun 2010, 10:44
Du brauchst für den Vergleich 2 Instanzen derselben Tabelle, deshalb die Aliase. Versuch es doch einfach mal.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz