AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL abfrage mit mehreren Tabellen
Thema durchsuchen
Ansicht
Themen-Optionen

SQL abfrage mit mehreren Tabellen

Ein Thema von Phantom1 · begonnen am 29. Jun 2004 · letzter Beitrag vom 29. Jun 2004
Antwort Antwort
Phantom1

Registriert seit: 20. Jun 2003
282 Beiträge
 
Delphi 10.4 Sydney
 
#1

SQL abfrage mit mehreren Tabellen

  Alt 29. Jun 2004, 08:26
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
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#2

Re: SQL abfrage mit mehreren Tabellen

  Alt 29. Jun 2004, 08:57
es ist doch egal in welcher spalte es steht wichtig ist doch der feldname oder verstehe ich das problem nicht?
  Mit Zitat antworten Zitat
TypusMensch

Registriert seit: 29. Aug 2003
Ort: Goth-A
182 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: SQL abfrage mit mehreren Tabellen

  Alt 29. Jun 2004, 09:25
SELECT * FROM Kunden, Rechnung WHERE Kunden.KundNr=Rechnung.KundNr AND ... 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.

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.
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:18 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