Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datenselectieren über 2 Tabellen (https://www.delphipraxis.net/183387-datenselectieren-ueber-2-tabellen.html)

HPB 6. Jan 2015 16:34

Datenbank: Interbase • Version: 7 • Zugriff über: IBQuery

Datenselectieren über 2 Tabellen
 
Guten Tag Delphianer,
ich möchte Daten aus zwei Tabellen selektieren und in Fasreport anzeigen.

In Tabelle 1 sind Adressen gespeichert mit dem Hauptschlüssel AdressID
In Tabelle 2 sind Daten von Adressen gespeichert und hat den Fremdschlüssel Adressid aus Adressen.

Ich möchte gerne das zu jedem Datensatz aus Tabelle 1 die zugehörenden Daten aus Tabelle 2 angezeigt werden.
Wobei der Datensatz aus Tabelle1 aber nur einmal angezeigt werden soll. Er ist ja auch
nur einmal in der Tabelle vorhanden.

Bisher benutze ich folgenden Code:
Delphi-Quellcode:
select * from Tabelle1 aTabelle
inner join bTabelle2 Tabelle2 
on bTabelle.fkadressid = aTabelle.ADRESSID
Angezeigt werden aber z. B. 2 Datensätze weil in der Tabelle2 auch 2 Datensätze vorhanden sind.
Sind z. B. 3 Datensätze für die Adressen in Tabelle2 vorhanden, dann werden eben 3 Datensätze angezeigt.
Auch mit
Delphi-Quellcode:
Select Distinct
komme ich nicht weiter.
Wie muss der SQL-Befehl lauten damit zu einem Datensatz aus Tabelle1 alle zugehörenden Datensätze aus
der Tabelle2 angezeigt werden?
Mit Gruß
HPB

DeddyH 6. Jan 2015 16:42

AW: Datenselectieren über 2 Tabellen
 
Ich versteh Dich nicht. Soll nun jeder Datensatz zurückkommen oder nur einer je Adresse :gruebel:?

Uwe Raabe 6. Jan 2015 17:51

AW: Datenselectieren über 2 Tabellen
 
Ich glaube, du suchst einen Master-Detail Report. Alternativ könntest du auch mit Groups arbeiten. Das kommt aber darauf an, was du im Report erreichen willst.

HPB 6. Jan 2015 17:56

AW: Datenselectieren über 2 Tabellen
 
Zitat:

Zitat von DeddyH (Beitrag 1285626)
Ich versteh Dich nicht. Soll nun jeder Datensatz zurückkommen oder nur einer je Adresse :gruebel:?

Entschuldige dass ich mich so verquer ausgedrückt habe.

Ich erkläre neu am Beispiel von:
Lieferscheine und LieferscheinPositionen

Zu jedem Lieferschein gibt es eine oder mehrere Positionen.
Nun möchte ich eine Liste über alle vorhandene Lieferscheine erzeugen.
Also:
LieferscheinNr 1
Lieferposition1
LieferPosition2
Lieferposition3
LieferPosition...

LieferscheinNr 2
(auch hier alle Lieferpositionen für Lieferschein2)
und dies bis zum Ende der Datei Lieferscheine.

Im Druck darf jeder Lieferschein nur einmal aufgeführt werden.
Bei meiner Lösung werden die Lieferscheine aber sooft aufgeführt, wie es Positionen gibt.
Ich hoffe ich konnte es nun ein Kleinwenig besser beschreiben.
Mit Gruß
HPB

HPB 6. Jan 2015 17:58

AW: Datenselectieren über 2 Tabellen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1285631)
Ich glaube, du suchst einen Master-Detail Report. Alternativ könntest du auch mit Groups arbeiten. Das kommt aber darauf an, was du im Report erreichen willst.

Es ist ein Master/Detail Report. Aber ich muss doch vorher die Daten für den Report selektieren!?
Und genau daran scheitert es bisher.
Mit HPB

DeddyH 6. Jan 2015 18:01

AW: Datenselectieren über 2 Tabellen
 
Das ist doch in dem oben verlinkten Artikel genau beschrieben.

HPB 6. Jan 2015 18:06

AW: Datenselectieren über 2 Tabellen
 
Zitat:

Zitat von DeddyH (Beitrag 1285635)
Das ist doch in dem oben verlinkten Artikel genau beschrieben.

Mea Culpa.
Ich werde beides ausprobieren. Uwe hat ja recht, ich muss mich mit Fastreport beschäftigen.
Vielen Dank für Eure Hilfe.
HPB


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 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