Veröffentlicht 12. Januar 200718 j Hallo zusammen, ich schlag mich nun schon ein paar Stunden mit folgendem Problem herum und frage mich ob es nicht noch die fähigen Experten gibt die mir während meiner Ausbildung schon geholfen haben. Ich habe eine Tabelle mit den Beziehungen a | b --------- 1 | 3 2 | 5 3 | 4 1 | 4 8 | 3 3 | 9 Und suche aus dieser Tabelle alles was mit der 3 verknüpft ist. Also das Resultat muß wie folgt aussehen. geg | ges --------- 3 | 1 3 | 4 3 | 8 3 | 9 Eine einfache ODER Verknüpfung zwischen a und b mit der Bedingung das der Wert 3 sein soll bringt mir leider nicht das geordnete ergebniss sondern immernoch sowohl in der rechten, als auch in der linken spalte den Wert den ich suche. Ist es hier irgendwie möglich die Tabelle mit sich selbst zu Joinen und dabei die spaltenbezeichnungen zu vertauschen? Ich danke euch!
13. Januar 200718 j Das funktioniert leider nur bedingt weil damit nur die A->B verknüpfungen abgefragt werden. Was dann z.B. im Resultat fehlen würde wäre die Verbindung zwischen 8 und 3 1 und 3 weil in dem Fall die 3 ja in der spalte B vorkommt. Ich muß da nochwas ergänzen, eigentlich ist es irrelevant ob in der Ergebnisstabelle die geg - spalte vorkommt. Ich benötige nur die jeweils verknüpften ID's
13. Januar 200718 j Hi, du könntest zwei Abfragen machen und mit einem UNION verbinden: SELECT a geg, b ges from Tabelle WHERE a=3 UNION SELECT b geg, a ges from Tabelle WHERE b=3 Gruß
13. Januar 200718 j Hi, denke mal, das wird dir weiterhelfen, wenn du nur die IDs brauchst die verknüpft sind: SELECT b FROM tabelle WHERE a=3 UNION SELECT a FROM tabelle WHERE b=3 Gruß, Dirk
19. Januar 200718 j Also das Resultat muß wie folgt aussehen. SELECT 3, ges from ( SELECT CASE a WHEN 3 THEN b ELSE CASE b WHEN 3 THEN a ELSE 0 END END ges FROM test2 order by id ) t2 WHERE ges > 0 Meine Tabelle test 2 sieht folgendermaßen aus: id a b (Weil MySQL eine Spalte als Primary key haben wollte)
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.