Onkel_Hägi Geschrieben 14. September 2004 Teilen Geschrieben 14. September 2004 Sevus Leute, Ich habe gerade folgendes Problem. Ich habe eine Tabelle, und will die Datensätze auslesen mit dem höchsten Datum (normalerweise das Datum vom Vortag). Der Select usw sind kein Problem, nur bekomme ich eben immer entweder alle Datensätze raus, oder ich muss ein Datum im Code angeben (z.B. where t1.datum = '2004-09-13'). Gerade diese manuelle Eingabe des Datums will ich jetzt aber nicht haben. Kann ich das einfach mittels "WHERE max(t1.datum)" machen, oder geht das nicht? Danke schonmal, ich hoffe Ihr wißt was. Gruss Onkel Hägi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AxlHammer Geschrieben 14. September 2004 Teilen Geschrieben 14. September 2004 Welche mySQL Version? Wenn SubSelects unterstütz werden, versuch es doch mal so (für Syntax keine Haftung) select * from tabelle where datum in ( select max(datum) from tabelle ) Gruss, Axl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Onkel_Hägi Geschrieben 14. September 2004 Autor Teilen Geschrieben 14. September 2004 Wir haben MySQL Server 4.0.20. Wird des dabei unterstützt? Ich hab kein Plan, bin neu hier... Ich werds ausprobieren, danke schonmal. MfG Onkel Hägi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 14. September 2004 Teilen Geschrieben 14. September 2004 Hi, ...order by datum limit 1; Gruß Jaraz PS: gibt natürlich nur den Datensatz mit dem höchsten Datum :floet: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Onkel_Hägi Geschrieben 14. September 2004 Autor Teilen Geschrieben 14. September 2004 Ach ja, ich sollte vielleicht noch hinzufügen das die ganze Sache über nen ODBC-Treiber läuft. Ändert das irgendwas an der ganzen Sache? Eigentlich nicht, oder? Gruss Onkel Hägi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Onkel_Hägi Geschrieben 14. September 2004 Autor Teilen Geschrieben 14. September 2004 Hi, PS: gibt natürlich nur den Datensatz mit dem höchsten Datum :floet: Das is ja das Problem, ich brauche eben alle Datensätze mit eben dem höchsten Datum... Ach übrigens, SubSelects werden nicht unterstützt... Gruss Onkel Hägi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 14. September 2004 Teilen Geschrieben 14. September 2004 Wir haben MySQL Server 4.0.20. Wird des dabei unterstützt? Ab etwas 4.1.0 werden Subselects unterstützt. Probier das ma: SELECT @maxDate:= MAX(DATUM) FROM tbl1; SELECT * FROM tbl1 WHERE DATUM = @maxDate http://dev.mysql.com/doc/mysql/en/example-user-variables.html "MySQL supports user variables as of version 3.23.6. " Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Onkel_Hägi Geschrieben 14. September 2004 Autor Teilen Geschrieben 14. September 2004 Funktioniert, Danke! Bekomme zwar noch ein falsches Datum raus, aber das liegt nicht am Aufruf, das liegt an Handerfassung und Vertipperchen dabei... Gruss Onkel Hägi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Onkel_Hägi Geschrieben 17. September 2004 Autor Teilen Geschrieben 17. September 2004 Klappts eigentlich auch, wenn ich die Variablenzuweisung hinten dranhänge?` Weil ich muss den SQL-Code im VB-Designer einfügen, und der mosert mir rum wenn die Zuweisung oben steht... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 17. September 2004 Teilen Geschrieben 17. September 2004 Klappts eigentlich auch, wenn ich die Variablenzuweisung hinten dranhänge?` Weil ich muss den SQL-Code im VB-Designer einfügen, und der mosert mir rum wenn die Zuweisung oben steht... Wie meinst du hintendran? Also der Link zur offiziellen MySQL Doku ist ja oben. Ob's klappt? Hast du es probiert, dann weisst du es Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Onkel_Hägi Geschrieben 20. September 2004 Autor Teilen Geschrieben 20. September 2004 Ja, also das ich die Variablenzuweisung hinter den eigentlichen SQL-Code setze, klappt aber nicht... Im Visual Basic Datenumgebungsdesigner schmeißt er mir eben alle Datenfelder raus wenn ich es davor stehen habe... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 20. September 2004 Teilen Geschrieben 20. September 2004 Ja, also das ich die Variablenzuweisung hinter den eigentlichen SQL-Code setze, klappt aber nicht... Im Visual Basic Datenumgebungsdesigner schmeißt er mir eben alle Datenfelder raus wenn ich es davor stehen habe... das er alle Felder anzeigt, liegt doch am "SELECT *" Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Onkel_Hägi Geschrieben 20. September 2004 Autor Teilen Geschrieben 20. September 2004 Nein, es liegt eben daran das ich, wenn ich diese Variable drin habe, erst einen Select für diese Variable mache. Er will aber eben den SELECT auf alle Datenfelder die ich im Report abgegeben habe, mit exakt benannten Feldern (die Namen müssen genau übereinstimmen!!). Und wenn ich eben dieses SELECT mit der Variablenzuweisung habe, schmeißt er mir alle Felder aus der Ansicht raus, somit funktioniert das Programm nicht. Ist irgendwie ein *******, ich hätte es sowieso manuell in einen Report geschrieben und nicht mit diesem Datenumgebungsdesigner, aber ich habe das Programm ja nicht gemacht, ich muss es jetzt eben nur umstellen. Gruss Onkel Hägi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 20. September 2004 Teilen Geschrieben 20. September 2004 Nein, es liegt eben daran das ich, wenn ich diese Variable drin habe, erst einen Select für diese Variable mache. Das liegt an deiner Umgebung. Was in der Abfrage passiert ist, er führt beide SQL-Anweisungen nacheinander durch. Zuerst die für die Ermittlung des MaxDate und dann die eigentliche Abfrage. Die Umgebung merkt das aber nicht, und nimmt nur die erste Abfrage. Kenne deine Umgebung nicht, aber kannst du die Felder dort nur dynamisch bestimmen lassen, also wenn er das SQL ausführt? Kannst du nicht zur Desingzeit festlegen welche Felder er haben soll? Ich kenne sowas ähnliches, da werden in einer Tabelle automatisch die Felder/Spalten die das SQL zurückliefert angezeigt. Wenn ich aber Felder/Spalten vorgebe nimmt er die. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Onkel_Hägi Geschrieben 23. September 2004 Autor Teilen Geschrieben 23. September 2004 Ist der Datenumgebungsdesigner von Visual Basic 6.0. Ich kenn mich aber mit dem Ding nicht wirklich aus, ich hab inzwischen nur kapiert wie ich die Connection und den SQL-Code ändere. Das mit den Feldern hab ich noch nicht raus, auch in der MDSN hab ich dazu nix gefunden das mir weiterhilft... Wir haben das Projekt jetzt erstmal nach hinten verschoben, aber wenn jemand ne Ahnung hat wie das funktioniert, bitte trotzdem posten oder per PN bei mir melden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.