AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Select mit 2 Inner Joins auf gleiche Tabelle?
Thema durchsuchen
Ansicht
Themen-Optionen

Select mit 2 Inner Joins auf gleiche Tabelle?

Ein Thema von Roadrunner.1 · begonnen am 23. Mai 2009 · letzter Beitrag vom 26. Mai 2009
 
Roadrunner.1

Registriert seit: 3. Mai 2009
20 Beiträge
 
Delphi 10.3 Rio
 
#1

Select mit 2 Inner Joins auf gleiche Tabelle?

  Alt 23. Mai 2009, 10:35
Datenbank: NexusDB • Version: 2 • Zugriff über: Datenbankbrowser
Hallo zusammen, irgendwo ist ein kleiner Fehler, nur find' ich ihn nicht.

Folgendes habe ich (aufs wesentliche gekürzt wiedergegeben):
- Tabelle TELEMENT in der 2 x eine Farbe vorkommt, und dort jeweils der Primary Key der Tabelle TFARBE hinterlegt ist.
Die beiden Felder heißen Farbe und Farbekorpus
- Tabelle TFARBE in der es unter anderem diesen Primary Key gibt.

Nun möchte ich einen Select machen in der alle Kombinationen von Farbe und Farbekorpus ausgegeben werden:

SQL-Code:
SELECT TELEMENT.FARBE, TFARBE.ID, TELEMENT.FARBEKORPUS, TFARBE_1.ID
FROM (TFARBE INNER JOIN TELEMENT ON TFARBE.ID = TELEMENT.FARBE) INNER JOIN TFARBE AS TFARBE_1 ON TELEMENT.FARBEKORPUS = TFARBE_1.ID
GROUP BY TELEMENT.FARBE, TFARBE.ID, TELEMENT.FARBEKORPUS, TFARBE_1.ID;
Wenn ich diesen Select unter ACCESS ausführen, dann funktioniert es wie gewünscht (der Select stammt übrigens von ACCESS, aber mein eigener war auch nicht viel anderes).

Als Ergebnis erhalte ich, dass die ersten 2 Spalten identisch sind und die anderen 2 Spalten für sich betrachtet ebenfalls:

Delphi-Quellcode:
FARBE TFARBE.ID FARBEKORPUS TFARBE_1.ID
1 1 1 1
1 1 2 2
1 1 3 3
1 1 4 4
1 1 5 5
1 1 6 6
1 1 7 7
2 2 2 2
...
Das entspricht ja auch den beiden angegebenen Bedingungen für den Inner Join.

Führe ich aber den identischen Select im Nexus Datenbankexplorer aus, dann erhalte ich leider folgendes Ergebnis:

Delphi-Quellcode:
FARBE TFARBE.ID FARBEKORPUS TFARBE_1.ID
1 1 1 1
1 1 2 1
1 1 3 1
1 1 4 1
1 1 5 1
1 1 6 1
1 1 7 1
2 2 2 2
...
Es ist also TFARBE_1.ID identisch mit TFARBE.ID aber warum?
Bzw. Was muss ich machen das ich bei der NexusDB das gleiche (richtige) Ergebnis erhalte?
Christian Drenkard
--
mfg.
Christian Drenkard
  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 14:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz