Veröffentlicht 14. September 200421 j 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
14. September 200421 j 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
14. September 200421 j 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
14. September 200421 j Hi, ...order by datum limit 1; Gruß Jaraz PS: gibt natürlich nur den Datensatz mit dem höchsten Datum :floet:
14. September 200421 j 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
14. September 200421 j 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
14. September 200421 j 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. "
14. September 200421 j 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
17. September 200421 j 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...
17. September 200421 j 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
20. September 200420 j 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...
20. September 200420 j 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 *"
20. September 200420 j 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
20. September 200420 j 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.
23. September 200420 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.