AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SQl -> Verknüpfte Datensätze ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

SQl -> Verknüpfte Datensätze ausgeben

Ein Thema von Xate · begonnen am 11. Jun 2010 · letzter Beitrag vom 11. Jun 2010
Antwort Antwort
Xate

Registriert seit: 11. Jun 2010
12 Beiträge
 
Delphi 2005 Architect
 
#1

SQl -> Verknüpfte Datensätze ausgeben

  Alt 11. Jun 2010, 09:54
Datenbank: Firebird • Version: 2.1 • Zugriff über: IB Expert
Hallo DP Member!

Sonst lese ich hier eigentlich nur, aber nun wird auch mal was geschrieben:
Ich habe 2 Tabellen. Table1 und Table2.
In Table1 stehen Mitteilungen samt aller zugehörigen informationen und natürlich der Mitteilungs ID.
In Table 2 werden die Mitteilungs ID miteinander verknüpft, sodass ich sehen kann, welche Mitteilungen zu einem bestimmten Vorgang gehören.
Nun will ich mir beim Öffnen einer Mitteilung alle damit verbundenen Mitteilungen ausgeben lassen.
Mal ein Beispiel:
Code:
Table2:            
table1_id    | table1_id2
-------------|----------                                         
    4        |      3
    2        |      1
    3        |      1
    1        |      2

In Table 1:
ID  |    Stichwort
----|--------------   
1   |    Test1     
2   |    Test2
3   |    Test3
4   |    Test4
Ich habe die Mitteilung mit der ID 1 geöffnet.
Ergo müssten mir nun die Daten zu den ID's 2,3 und , da 3 mit 4 verbunden ist, auch die 4 angezeigt werden.
Die ID 1 soll er nicht ausgeben, da ich diese grad geöffnet habe.

Mein SQL Code z.Z. klappt nicht und ich hab keine Ahnung wie ich das lösen könnte.. Hoffe ihr könnt mir dabei helfen
Code:
Select *

from table1 as a
join table2 as b

on
(a.id = b.table1_id2 and a.id <> b.table1_id)
or
(a.id = b.table1_id and a.id <> b.table1_id2)

where
a.id= 1
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: SQl -> Verknüpfte Datensätze ausgeben

  Alt 11. Jun 2010, 10:15
Hallo,

unter Oracle könnte man das so machen:
SQL-Code:
select * from (
  Select *
  from table1 as a
  join table2 as b
  on
  (a.id = b.table1_id2 and a.id <> b.table1_id)
  or
  (a.id = b.table1_id and a.id <> b.table1_id2)
  where a.id= 1
) a
where a.id <> 1

Geändert von mkinzler (11. Jun 2010 um 10:25 Uhr) Grund: CODE Tag um SQL ergänzt
  Mit Zitat antworten Zitat
Xate

Registriert seit: 11. Jun 2010
12 Beiträge
 
Delphi 2005 Architect
 
#3

AW: SQl -> Verknüpfte Datensätze ausgeben

  Alt 11. Jun 2010, 10:18
Danke ! Werd ich sofort ausprobieren
  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 20:46 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