AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mit JOIN suchen über merhere Tabellen...klappt nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Mit JOIN suchen über merhere Tabellen...klappt nicht

Ein Thema von tdeck · begonnen am 1. Jan 2010 · letzter Beitrag vom 4. Jan 2010
 
tdeck

Registriert seit: 26. Jun 2006
Ort: Obertshausen
69 Beiträge
 
Delphi 11 Alexandria
 
#1

Mit JOIN suchen über merhere Tabellen...klappt nicht

  Alt 1. Jan 2010, 23:18
Datenbank: MSSQL • Version: 2005 • Zugriff über: TADOQUERY
Hallo Leute.

Leider habe ich hier mal wieder ein SQL-Abfrage Problem. Ich muss eine SQL-Script in Delphi erzeugen, das über mehrere Tabellen einer Datenbank, Sclüsselwörter sucht.

Ich dachte mir ich erzeuge einfach eine VirtuelleTabelle mit den JOIN Befehl und suche dann darin die Daten.

SQL-Code:
SELECT *
from
dbo.VORGANG v
join dbo.VORGADR va on va.ROWVORGANG = v.ROWVORGANG
left OUTER join dbo.PROJEKTORDNER po on (po.OBJEKTNR = v.ROWVORGANG AND po.OBJEKTKZ = 'VOR')
join dbo.PROJEKTE p on p.ROWPROJEKT = po.ROWPROJEKT

Hier mal die wichtigsten Tabellen Aufbauten:

Tabelle VORGANG:
ROWID
ROWVORGANG
...

Tabelle VORGADR:
ROWID
ROWVORGANG
...

Tabelle PROJEKTORDNER:
ROWID
ROWPROJEKT
OBJEKTKZ
OBJEKTNR
...

Tabelle PROJEKTE
ROWID
ROWPROJEKT
...

Problem der Datenbank-Struktur:
VORGANG und VORGADR gibt es immer, beide haben das Feld ROWVORGANG, hier gibt es auch keine Probleme.
Aber nicht jeder Vorgang ist auch im Projekt eingetragen, dies steht in der Tabelle PROJEKTORDNER,
dort darf ich aber nur die OBJEKTKZ='VOR' zuordnen. Wenn das OBJEKTKZ='VOR' ist, dann ist die OBJEKTNR = ROWVORGANG

Ziel war eigentlich, das er die Tabellen JOINT und die Felder die eben nicht im PROJEKTORDNER eingetragen und nicht OBJEKTKZ='VOR' sind einfach leer lässt. Und ich dann einfach über alle wichtigen Felder meine WHERE Anweisung ausführen kann.

Aber leider bewirkt meine Anweisung, das alle Einträge aus VORGANG die nicht mit den PROJEKTORDNER oder OBJEKTKZ='VOR' übereinstimmen aus der virtuellen Tabelle entfernt werden.

Ist JOIN die richtige Wahl dafür? Oder habe ich hier einen Grundsätzlichen Denkfehler?
Ich hoffe ihr habt einen Tip für mich, ich teste schon seit Stunden rum und finde keine richtige Lösung.

Gruss
Thorsten
Thorsten
  Mit Zitat antworten Zitat
 


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 15:40 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