![]() |
SQL abfrage mit mehreren Tabellen
Hallo,
ich habe ein problem und zwar soll ich ein programm schreiben wo der benutzer aus einer SQL-Datenbank mit mehreren tabellen ein abfrage starten kann, die tabellen kann der benutzer selbst auswählen und da liegt mein problem. Wenn ich die Abfrage manuell eingebe gehts natürlich zb so hier: SELECT * FROM Kunden, Rechnung WHERE Kunden.KundNr=Rechnung.KundNr AND ... Das problem ist eben das nicht immer die erste Spalte einer Tabelle auch die schlüsselspalte (zb KundNr) ist. Hab ihr irgendwie eine Idee? Man hat mir gesagt das ich das auch irgendwie mit dem Indexnamen (ApolloQuery1.Tagname()) machen kann, ich weiß jedoch nicht genau wie. mfg |
Re: SQL abfrage mit mehreren Tabellen
es ist doch egal in welcher spalte es steht wichtig ist doch der feldname oder verstehe ich das problem nicht?
|
Re: SQL abfrage mit mehreren Tabellen
SQL-Code:
Bei deiner Query steht an erster Stelle dann in diesem Beispiel (zu sehen z.B. in einem DBGrid der 1. Spalte) auch der erste Datentyp/Datenname der Tabelle Kunden, 2. Spalte auch der 2. Typ der Tabelle Kunden, usw. bis die Tabelle Kunden keine weiteren Datenbanktypen beinhaltet, dann geht es los mit der Tabelle Rechnung und das Gleiche halt von vorn.
SELECT * FROM Kunden, Rechnung WHERE Kunden.KundNr=Rechnung.KundNr AND ...
Also wenn du in deiner Tabelle (z.B. mit der Datenbankoberfläche) nicht auch KundNr als erstes Feld eingetragen hast, kommt es auch nicht als erstes in deiner DBGrid (bzw. Abfrage). Ich hoffe ich habe so richtig verstanden. Wenn du z.B. KundNr trotzdem als erstes in deiner DBGrid anzeigen lassen möchtest, mache folg.: Gebe deinen SQL-Code einfach mal in die Query ein. Databasename richtig eingegeben, könntest du jetzt die Query aktivieren. Klicke danach doppelt auf die Query und klick auf alle "alle Felder hinzufügen...". Schon siehst du die wirkliche Reihenfolge. Dananch noch eine DataSource an deine Query hängen und diese widerum mit ner DBGrid verbinden. DBGrid doppelt anklicken und wieder "alle Felder hinzufügen...". Jetzt kannst per Maus einfach wahlweise die Ansicht (Spalten, Spaltennamen, etc) der einzelnen Felder ändern. Ich hoffe, dass war's was du gemeint hast. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 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-2025 by Thomas Breitkreuz