Net-srac Geschrieben 12. Januar 2007 Teilen Geschrieben 12. Januar 2007 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! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 13. Januar 2007 Teilen Geschrieben 13. Januar 2007 SELECT * FROM Tabelle WHERE a = 3 ? ORDER BY 1 davor schon Stunden ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Net-srac Geschrieben 13. Januar 2007 Autor Teilen Geschrieben 13. Januar 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SpaceN8 Geschrieben 13. Januar 2007 Teilen Geschrieben 13. Januar 2007 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ß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DiHo Geschrieben 13. Januar 2007 Teilen Geschrieben 13. Januar 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 19. Januar 2007 Teilen Geschrieben 19. Januar 2007 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) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.