AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tabellen verbinden

Ein Thema von Schuby · begonnen am 20. Nov 2019 · letzter Beitrag vom 21. Nov 2019
Antwort Antwort
Schuby

Registriert seit: 25. Dez 2018
102 Beiträge
 
#1

Tabellen verbinden

  Alt 20. Nov 2019, 15:38
Datenbank: *.mdb • Version: ? • Zugriff über: ADO
Hallo, jetzt muss ich doch etwas schreiben die Hilfe hier im Forum bringt mich nicht weiter.

Ich habe eine mdb Datenbank mit 2 Tabellen
Tabelle1. person
Tabelle2. urlaub

Von Tabelle1 nehme ich mir die id (counter) und speichere sie bei jeden neuen Datensatz
in Tabelle2 urlaub.user_id ab. Jetzt möchte ich mit FastReport eine Liste erstellen.

Ich denke das geht aber nur wenn ich die Tabellen verbinde, und da haut es nicht hin.

Delphi-Quellcode:
select
    person.*, urlaub.user_id
from
(person LEFT OUTER JOIN urlaub ON person.id=urlaub.user_id)
order by urlaub.user_id;

Könnt ihr mir bitte einen Tipp geben.

Danke
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.599 Beiträge
 
Delphi 12 Athens
 
#2

AW: Tabellen verbinden

  Alt 20. Nov 2019, 16:56
und da haut es nicht hin.
Was genau haut denn nicht hin?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.867 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Tabellen verbinden

  Alt 20. Nov 2019, 17:28
Besser mit Aliasen

SQL-Code:
select
    p.*, u.user_id
from
    person p LEFT OUTER JOIN urlaub u ON u.user_id = p.id
order by
    u.user_id;
Markus Kinzler
  Mit Zitat antworten Zitat
Schuby

Registriert seit: 25. Dez 2018
102 Beiträge
 
#4

AW: Tabellen verbinden

  Alt 20. Nov 2019, 17:30
Ich erkläre es mal genauer.

Also ich habe 2 Tabellen und diese wollte ich mit FastReport ausgeben.
In Tabelle1 ist der Name und Anschrift
In Tabelle2 die Urlaubsdaten
Nur der Müller hat Urlaub eingetragen,
aber alle anderen bekommen demn Urlaubsdaten vom Müller mit angezeigt angezeigt

Delphi-Quellcode:
Müller
25.11.2019 30.11.2019
Meier
25.11.2019 30.11.2019
Schulze
25.11.2019 30.11.2019
Da ich die id (ich habe den Counter genommen) in die Tabelle 2 bei einen neuen Datensatz schriebe kann ich die
Daten zu ordnen.

Ich dachte mir das ich die ID von Tab1 mit der ID von Tab2 joinen muss ?!
Bin ich auf den Holzweg ? Also ich sehe vor lauter Bäume den Wald nicht mehr.


mfg Schuby
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.867 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Tabellen verbinden

  Alt 20. Nov 2019, 17:34
Grundsätzlich nicht. Die Werte ohne Detaildatensatz sind NULL. Am Besten mal die Abfrage unabhängig von FastReports ausführen.
Die Reportsoftware scheint die Werte in der Anzeige nicht zurückzusetzen.
Markus Kinzler
  Mit Zitat antworten Zitat
Schuby

Registriert seit: 25. Dez 2018
102 Beiträge
 
#6

AW: Tabellen verbinden

  Alt 20. Nov 2019, 17:44
Hierbei bekomme ich einen Fehler

Delphi-Quellcode:
select
    p.*, u.user_id
from
    person p LEFT OUTER JOIN urlaub u ON u.user_id = p.id
order by
    u.user_id;

Im Ausdruck stimmt ein Datentyp nicht überein


mfg
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Tabellen verbinden

  Alt 20. Nov 2019, 18:35
Hallo,
bitte noch einmal
Zitat:
Am Besten mal die Abfrage unabhängig von FastReports ausführen.
Ausserdem wäre es besser, beim Order By über die p.id zu gehen
order by
p.id;
weil die u.user_id ja NULL sein könnte
Heiko
  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 02:31 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