![]() |
Datenbank: MS SQL 2000 • Zugriff über: ADO
2 Tabellen in 1 DBGrid
Hallo,
ist es möglich 2 Tabellen, die identische Strukturen haben in einem DBGrid anzuzeigen?
Delphi-Quellcode:
Tabelle1 Tabelle2
ID Name Vorname ID Name Vorname 1 a d 1 g j 2 b e 2 h k 3 c f 3 i l DBGRID: Name Vorname a d b e c f g j h k i l Vielen Dank Tim |
Re: 2 Tabellen in 1 DBGrid
Entweder per Join (nebeneinander) oder Union (untereinander)
|
Re: 2 Tabellen in 1 DBGrid
Danke, per Union klappt super.
Kann man jetzt die Tabellen noch irgendwie auseinander halten? Also ich möchte wissen aus welcher Tabelle welcher Name kommt? |
Re: 2 Tabellen in 1 DBGrid
Erweitere die Abfragen um eine Feld, in das du die Tabelle schreibst
|
Re: 2 Tabellen in 1 DBGrid
woher bekomm ich denn dann den Tabellennamen bzw. wie bastel ich den noch mit hinein?
SQL-Code:
SELECT Vorname,Name,ID FROM Tabelle1 UNION SELECT Vorname,Name,ID FROM Tabelle2
|
Re: 2 Tabellen in 1 DBGrid
SQL-Code:
SELECT Vorname,Name,ID, 'Tabelle 1' as Src FROM Tabelle1
UNION SELECT Vorname,Name,ID, 'Tabelle 2' as Src FROM Tabelle2 |
Re: 2 Tabellen in 1 DBGrid
Wenn ichs richtig verstanden habe, dann möchtest du Daten aus 2 Tabellen in einem Grid darstellen, also Zeile für Zeile.
also in der art
Code:
meiner Meinung nach funktioniert das nur praktikabel mit einem Join. Mit einer Union eher weniger.
Tabelle1.Zeile1 Tabelle2.Zeile1
Tabelle1.Zeile2 Tabelle2.Zeile2 usw... Zwar kann man, wie joachimd schreibt, den Tabellen in der Anfrage mitgeben, aber mit einer Union bekommst du nur
Code:
Ich denke aber das du eher pro Zeile alle Daten haben möchtest.
Tabelle1.Zeile1 "Tabelle 1"
Tabelle2.Zeile1 "Tabelle 2" Tabelle1.Zeile2 "Tabelle 1" Tabelle2.Zeile2 "Tabelle 2" Ob man über die Fielddefs an den Tabellenname heran kommt, weiß ich nicht genau, konnte man aber probieren. Mein alternativer Vorlage wäre, die einzelnen Felder zu labeln.
SQL-Code:
Die Abfrage muß dann natürlich zB. so lauten
SELECT
a.Vorname as "Tabelle1.name", a.Name as "Tabelle1.Name", a.ID as "Tabelle1.ID", b.Vorname as "Tabelle2.name", b.Name as "Tabelle2.Name", b.ID as "Tabelle2.ID" FROM Tabelle1 a, Tabelle2 b, WHERE a.ID = b.ID -- als beispiel
Delphi-Quellcode:
Wenn du das ganze 'n bissl intelligent programmierst, weißt du genau, welches Value aus welcher Tabelle kommt.
Query.FieldByName('Tabelle1.Name').AsString;
:hi: |
Re: 2 Tabellen in 1 DBGrid
Ich würde Joins nur verwenden, wenn eine Beziehung zwischen den beiden Tabellen besteht.
|
Re: 2 Tabellen in 1 DBGrid
Moin,
Zitat:
Freundliche Grüße |
Re: 2 Tabellen in 1 DBGrid
@all: danke für die Hilfe
@gmc616: dank dir für die Alternative, das wäre sicherlich auch eine interessante Möglichkeit, wie gesagt, für die Anwendung hier ist union das, was ich gesucht habe, aber das andere ist auch recht nützlich... |
Re: 2 Tabellen in 1 DBGrid
Zitat:
War wohl doch zu spät gestern Abend :angel2: Sorry. :oops: |
Re: 2 Tabellen in 1 DBGrid
Abgesehen davon hast Du wohl einen Cross Join gepostet, wenn ich das richtig gesehen habe. :pale:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:05 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