Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zwei Tabelle richtig verknüpfen ? (https://www.delphipraxis.net/100193-zwei-tabelle-richtig-verknuepfen.html)

HolgerCW 24. Sep 2007 12:13

Datenbank: ORACLE • Version: 9 • Zugriff über: BDE

Zwei Tabelle richtig verknüpfen ?
 
Hallo zusammen,

ich habe zwei Tabellen.

Tabelle 1 hat folgende Spalten:

AUFTRAGSNR, POITIONSNR, TAETIGKEIT_ID1, TAETIGKEIT_ID2

Tabelle 2 diese Spalten:

TAETIGKEIT_ID, TAETIGKEIT_TYP, TAETIGKEIT_TEXT,

Jede Auftragsnummer aus Tabelle 1 hat 1 bis 10 Positionsnummern.
Taetigkeit_ID mit Taetigkeit_Typ ist der Primärschlüssel von Tabelle 2
TAETIGKEIT_ID1 aus Tabelle 1 hat den Typ 'T1' aus Tabelle 2
TAETIGKEIT_ID2 aus Tabelle 1 hat den Typ 'T2' aus Tabelle 2

Das Ergebnis soll folgendes sein:

AUFTRAGSNR, POITIONSNR, TAETIGKEIT_TEXT1, TAETIGKEIT_TEXT2

Danke für Hilfe

Holger

angos 24. Sep 2007 12:42

Re: Zwei Tabelle richtig verknüpfen ?
 
Hi,

ich hoffe ich habe das Problem richtig verstanden:

Delphi-Quellcode:
SELECT A.AUFTRAGSNR, A.POITIONSNR, T1.TAETIGKEIT_TEXT, T2.TAETIGKEIT_TEXT
FROM TABELLE1
LEFT OUTER JOIN TABELLE2 AS T1 ON A.TAETIGKEIT_ID1 = T1.TAETIGKEIT_ID
LEFT OUTER JOIN TABELLE2 AS T2 ON A.TAETIGKEIT_ID2 = T2.TAETIGKEIT_ID
Gruß

[Edit] Copy&Paste Bug entfernt

HolgerCW 24. Sep 2007 13:14

Re: Zwei Tabelle richtig verknüpfen ?
 
Danke,

habe das nun umgesetzt und es kommt die Fehlermeldung : Schlüsselwort fehlt.

So sieht es nun aus:

Delphi-Quellcode:
SELECT A.AUFTRAGSNUMMER, A.POS_NR, T1.TAETIGKEIT_TEXT, T2.TAETIGKEIT_TEXT
FROM SYSSIGMA2GML.BE_BERTAET
LEFT OUTER JOIN SYSSIGMA2GML.ST_STDTXT AS T1 ON A.TAETIGKEIT_E1_ID = T1.TAETIGKEIT_ID
LEFT OUTER JOIN SYSSIGMA2GML.ST_STDTXT AS T2 ON A.TAETIGKEIT_E2_ID = T2.TAETIGKEIT_ID
Gruss

Holger

mkinzler 24. Sep 2007 13:16

Re: Zwei Tabelle richtig verknüpfen ?
 
SQL-Code:
SELECT A.AUFTRAGSNUMMER, A.POS_NR, T1.TAETIGKEIT_TEXT, T2.TAETIGKEIT_TEXT
FROM SYSSIGMA2GML.BE_BERTAET A ...

RavenIV 24. Sep 2007 13:17

Re: Zwei Tabelle richtig verknüpfen ?
 
Ich vermute, die zweite Zeile müsste heissen:
SQL-Code:
FROM SYSSIGMA2GML.BE_BERTAET A
beachte das "A"

...So was doofes, da war einer schneller...

HolgerCW 24. Sep 2007 13:20

Re: Zwei Tabelle richtig verknüpfen ?
 
Nun sieht es so aus:

Delphi-Quellcode:
SELECT A.AUFTRAGSNUMMER, A.POS_NR, T1.TAETIGKEIT_TEXT, T2.TAETIGKEIT_TEXT
FROM SYSSIGMA2GML.BE_BERTAET A
LEFT OUTER JOIN SYSSIGMA2GML.ST_STDTXT AS T1 ON A.TAETIGKEIT_E1_ID = T1.TAETIGKEIT_ID
LEFT OUTER JOIN SYSSIGMA2GML.ST_STDTXT AS T2 ON A.TAETIGKEIT_E2_ID = T2.TAETIGKEIT_ID
... und immer noch Schlüsselwort fehlt ???

Gruss

Holger

mkinzler 24. Sep 2007 13:21

Re: Zwei Tabelle richtig verknüpfen ?
 
Wo zeigt er den Fehler genau an?

RavenIV 24. Sep 2007 13:21

Re: Zwei Tabelle richtig verknüpfen ?
 
Zitat:

Zitat von HolgerCW
... und immer noch Schlüsselwort fehlt ???

Zeig mal die genaue Fehlermeldung.

HolgerCW 24. Sep 2007 13:23

Re: Zwei Tabelle richtig verknüpfen ?
 
Mache das mit einem SQL - Explorer.

Die einzigen Infos, die ich da bekomme sind:

SQL-Fehler ORA-00905: Schlüsselwort fehlt
BDE-Error 13059
Allgemeiner SQL-Fehler

Gruss

Holger

RavenIV 24. Sep 2007 13:25

Re: Zwei Tabelle richtig verknüpfen ?
 
Im ersten Beitrag schreibst Du "Oracle über BDE".

Beim BDE-Admin kannst Du doch SQL ausführen.
Versuch das mal da, vielleicht spuckt der mehr Informationen zum Fehler aus...

HolgerCW 24. Sep 2007 13:26

Re: Zwei Tabelle richtig verknüpfen ?
 
Hier die Infos aus Delphi.

Habe den Code jetzt in eine Query übertragen.

+ $E[5285BB95]{bdertl100.bpl} DBTables.DBTables.DbiError (Line 1774, "DBTables.pas" + 1) + $E
+ $2[5286C6B2]{bdertl100.bpl} DBTables.DBTables.TQuery.CreateHandle (Line 8872, "DBTables.pas" + 0) + $2
+ $4[52865DC9]{bdertl100.bpl} DBTables.DBTables.TDBDataSet.OpenCursor (Line 6149, "DBTables.pas" + 2) + $4
+ $0[51F2AC1E]{rtl100.bpl } TypInfo.TypInfo.SetOrdProp (Line 1318, "TypInfo.pas" + 27) + $0
+ $6[20EED30A]{designide100.bpl} DesignEditors.DesignEditors.TEnumProperty.SetValue (Line 1402, "DesignEditors.pas" + 5) + $6
+ $24[20FCDD84]{vclide100.bpl} IDEInspListBox.IDEInspListBox.TInspListBox.SetProp Value (Line 1145, "ideinsplistbox.pas" + 40) + $24
+ $7[20FCF414]{vclide100.bpl} IDEInspListBox.IDEInspListBox.TInspListBox.ListAcc ept (Line 1636, "ideinsplistbox.pas" + 6) + $7
+ $12[20FCACF6]{vclide100.bpl} IDEListBtns.IDEListBtns.TListButton.CloseUp (Line 752, "IDEListBtns.pas" + 14) + $12
+ $6[5203C998]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line 7242, "Controls.pas" + 101) + $6
+ $4[00330EAB]{idectrls100.bpl} IDEWideStdCtrls.IDEWideStdCtrls.TWideCustomListBox .WndProc (Line 4425, "IDEWideStdCtrls.pas" + 14) + $4
+ $0[51F40BB0]{rtl100.bpl } Classes.Classes.StdWndProc (Line 11572, "classes.pas" + 8) + $0
+ $6A[7E368731]{USER32.dll } GetDC + $6A
+ $14A[7E368811]{USER32.dll } GetDC + $14A
+ $122[7E3689C8]{USER32.dll } GetWindowLongW + $122
+ $A[7E368A0B]{USER32.dll } DispatchMessageW + $A

Gruss

Holger

mkinzler 24. Sep 2007 13:28

Re: Zwei Tabelle richtig verknüpfen ?
 
Oder führe die Abfrage direkt auf die Datenbank aus. So müsste er dir anzeigen, an welcher stelle der Abfrage er etwas vermistt.
Du könntest auch mal versuchen das as bei der Aliasvergabe wegzulassen oder nur mal ein Join zu nehmen.

HolgerCW 24. Sep 2007 13:37

Re: Zwei Tabelle richtig verknüpfen ?
 
Vielen vielen dank,

das AS musste weg.

Gruss

Holger

RavenIV 24. Sep 2007 13:47

Re: Zwei Tabelle richtig verknüpfen ?
 
Jetzt, wo ich es lese.
Mit dem "AS" hatte ich bei der BDE auch schon mal Probleme.
Hatte damals auch lange gesucht.


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