![]() |
AW: DBF-Neulingfrage: Wie kann ich eine Query über mehrere DBF-Tabellen joinen?
Zitat:
Connectionstring konnte ich bequem im Delphi zusammenklicken. ADO-Query klappt "an sich" auch, super! Jetzt hab ich nur diverse Probleme mit dem SQL-92 (oder ist das ein anderer?). Konkret: a) in einer Tabelle stehen zwei Fremdschlüssel. Je nach Fall soll der eine oder der andere genommen werden und dann in der gleichen Query die Informationen aus der referenzierten Tabelle angezeigt werden. Konkret: ich hab Teilnehmer (Stammdaten...), Kurse (Infos zu den Kursen) und Belegung (welcher Teilnehmer ist in welchem Kurs). Dummerweise gibts zwei Belegungen (1. Jahr und 2. Jahr). JEtzt will ich natürlich nur die aktuell gültige Belegung haben. Mit MySQL geht das etwa so: select t.famname, t.rufname, ku.bezeichnung, ku.kursname, if(t.startjahr=2009, b.kursid_1, b.kursid2) as kursid from belegung b, teilehmer t, kurs ku where b.tnid = t.id and ku.id=kursid Hier wird also der alias aus der if-Abfrage in der where-clause verwendet. In der ado-query klappt das aber nicht, was - wie ich inzwischen gelesen hab - daran liegt, dass ein alias nur beim order by vorkommen darf. Außerdem gibts kein "if", sondern ein "iif", auch das hat 15min gedauert bis ich was gefunden habe... Große Frage: wie lautet die Query in sql-92? Sorry, geht über meine eingangs gepostete Frage hinaus, vielleicht weiß es ja trotzdem jemand auf die Schnelle...? Auf jeden Fall DANKE für den Tipp mit ADO und dem VisualFoxpro-Treiber, das ist klasse! |
AW: DBF-Neulingfrage: Wie kann ich eine Query über mehrere DBF-Tabellen joinen?
Viélleicht so?
Code:
select t.famname,
t.rufname, ku.bezeichnung, ku.kursname, ku.id as kursid from belegung b inner join teilnehmer t on t.id = b.tnid inner join kurs ku on ku.id = iif(t.startjahr=2009, b.kursid_1, b.kursid2) |
AW: DBF-Neulingfrage: Wie kann ich eine Query über mehrere DBF-Tabellen joinen?
Zitat:
...ja, ZIEMLICH GENAU so... :-D Danke! Nur für mich: anstelle einen Alias in der where-clause zu verwenden, nehme ich jetzt also immer einen (bzw. mehrere) inner join. Und aus "if" wird "iif". Bin gespannt was noch für Dialekt-Besonderheiten auftauchen... |
AW: DBF-Neulingfrage: Wie kann ich eine Query über mehrere DBF-Tabellen joinen?
Sei froh dass Du nicht von PL/SQL umsteigen musst. Dagegen kommt Dir jeder andere Dialekt "nackt" vor ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 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