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
Seite 3 von 4     123 4      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: Sortierung

  Alt 24. Jun 2010, 14:57
Das klappt ohne die Aliase? Das wundert mich jetzt aber schon ein wenig, aber gut.
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
804 Beiträge
 
Delphi 10.4 Sydney
 
#22

AW: Sortierung

  Alt 24. Jun 2010, 15:08
@ DataCool

Das hatte ich schon versucht, aber das funktionierte auch nicht.
Ich habe die andere Lösung gerade in mein Programm eingebaut und sie funzt!!!

@ All
Noch einmal vielen Dank für die tolle Kommunikation und Hilfe!

Ykcim
Patrick
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#23

AW: Sortierung

  Alt 29. Jun 2010, 07:49
Zu früh gefreut...

Guten Morgen,

nach der anfänglichen Freude, dass der nachstehende Code funktioniert, muss ich heute leider ernüchtert feststellen, dass dme nicht so ist.

Hier ersteinmal der Code:

SQL-Code:
SELECT
  Datum, Verfasser, ArtikelNr, Kommentar
FROM
  kommentterminV
WHERE Datum = (
  SELECT
    MAX(Datum)
  FROM
    kommentterminV
  WHERE kommentterminV.ArtikelNr = kommentterminV.ArtikelNr)
Das Problem ist, dass ich nur die Kommentare über alle Artikel bekomme, die das jüngste Datum haben. Das heißt, wenn es zu 10 Artikel einen "neusten" Kommentar vom 27.06.2010 gibt und von einem elften Artikel einen Kommentar neusten Kommentar vom 28.06.2010 gibt, dann wir mir nur der Kommentar der vom 28.06.2010 angezeigt und die anderen Kommentare bleiben unberücksichtigt...

Kann mir jemand sagen, was ich an dem Code verändern muss.


Vielen Dank

Ykcim
Patrick

Geändert von mkinzler (29. Jun 2010 um 08:38 Uhr) Grund: Code-Tag durch SQL-Tag ersetzt
  Mit Zitat antworten Zitat
schlecki

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

AW: Sortierung

  Alt 29. Jun 2010, 07: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
804 Beiträge
 
Delphi 10.4 Sydney
 
#25

AW: Sortierung

  Alt 29. Jun 2010, 08: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.542 Beiträge
 
Delphi 11 Alexandria
 
#26

AW: Sortierung

  Alt 29. Jun 2010, 08: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
804 Beiträge
 
Delphi 10.4 Sydney
 
#27

AW: Sortierung

  Alt 29. Jun 2010, 09: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
Miniaturansicht angehängter Grafiken
soll-ergebnis.jpg   ist-ergebnis.jpg  
Patrick

Geändert von mkinzler (29. Jun 2010 um 12: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.542 Beiträge
 
Delphi 11 Alexandria
 
#28

AW: Sortierung

  Alt 29. Jun 2010, 09: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
804 Beiträge
 
Delphi 10.4 Sydney
 
#29

AW: Sortierung

  Alt 29. Jun 2010, 09: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 12: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.542 Beiträge
 
Delphi 11 Alexandria
 
#30

AW: Sortierung

  Alt 29. Jun 2010, 09: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
Seite 3 von 4     123 4      


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 14:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz