ostpower Geschrieben 18. April 2008 Teilen Geschrieben 18. April 2008 ich habe 2 spalten in denen ortsangaben in ID-Form vorliegen, also z.b. 1234 für Berlin, 6357 für frankfurt etc. So jetzt ist die 1. Spalte der startort und die 2.spalte der ziel ort. mit einer zwischentabelle kann ich die zahlen als ortsnamen anzeigen lassen. allerdings hab ich jetzt ein problem beide spalten zu "entschlüsseln" Also das sieht so aus: Start____Ziel 3526____6265 2635____2276 2933____3336 1233____8236 2132____2337 Zwischentabelle: ID____NAME 3526__Berlin 3336__Frankfurt . . . So jetzt hab ich das statement: SELECT t.start,t.ziel,z.name FROM tabelle t,zwischentabelle z WHERE t.start = z.ID So damit wird die 1. spalte (start) als name ausgeben, aber wenn ich jetzt die 2.spalte auch als namen angegeben haben möchte, wie muss dass denn aussehn? also die tabelle soll dann in etwas so aussehn: Start____Ziel____OrtStart____Ortziel 3526____6265___Frankf______Berln 2635____2276___etc.... 2933____3336 1233____8236 2132____2337 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 18. April 2008 Teilen Geschrieben 18. April 2008 Moin, So jetzt hab ich das statement: SELECT t.start,t.ziel,z.name FROM tabelle t,zwischentabelle z WHERE t.start = z.ID ... Start____Ziel____OrtStart____Ortziel 3526____6265___Frankf______Berln 2635____2276___etc.... 2933____3336 1233____8236 2132____2337 ich nehme an du meinst: SELECT t.start,t.ziel, z1.name as ortstart, z2.name as ortziel FROM tabelle t,zwischentabelle z1, zwischentabelle z2 WHERE t.start = z1.ID and t.ziel = z2.ID Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ostpower Geschrieben 21. April 2008 Autor Teilen Geschrieben 21. April 2008 Ja aber ich hab keine 2 zwischentabellen, ich hab eine zwischentabelle mit der ich die orts-nummern als name identifizieren kann Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ratzinger Geschrieben 21. April 2008 Teilen Geschrieben 21. April 2008 Einfach und verständlich über Subselects SELECT t.start,t.ziel, (SELECT z.name FROM zwischentabelle z WHERE z.ID = t.start) as ortstart, (SELECT z.name FROM zwischentabelle z WHERE z.ID = t.ziel) as ortziel FROM tabelle t Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 21. April 2008 Teilen Geschrieben 21. April 2008 Subselect ist wäre sicher etwas langsamer... SELECT tabStart.NAME, tabEnd.NAME FROM t INNER JOIN zwischenTabelle AS tabStart ON (zwischenTabelle.ID = t.start) INNER JOIN zwischenTabelle AS tabEND ON (zwischenTabelle.ID = t.end) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ratzinger Geschrieben 21. April 2008 Teilen Geschrieben 21. April 2008 Ja das mit Sicherheit, aber nachdem er sich anscheinend nicht so gut mit SQL auskennt wollte ich eine Lösung bieten die er auch versteht und ich finde das ein Subselect einfacher zu verstehen ist! Performance mäßig ist mit Sicherheit der Join besser! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ostpower Geschrieben 21. April 2008 Autor Teilen Geschrieben 21. April 2008 Ehm ich hätte eine neues anders problem bzw. frage: Und zwar hab ich in 2 tabellen folgende spaltenkombinationen tabelle1 spalte1____spalte2 7134______5189 1234______3317 tabelle2 spalte1____spalte2 7134______3317 1234______5189 wenn ich jetzt in nem select die bedingung hab: where t1.s1 = t2.s1 and t1.s2 = t2.s2 dann würde der ja bei den angegebenen daten beide datensätze als ergebnis ausgeben. Ich möchte allerdings nur die genau kombinationen angezeigt bekommen, also z.b. nur die datensätze aus tabelle1 wo s1 = 7134 und s2=3317 is. Also mit der bedingung, die ich such, dürfte bei den angegebenen daten keins als result zurückgegeben werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ratzinger Geschrieben 21. April 2008 Teilen Geschrieben 21. April 2008 weis schon was du meinst! SELECT t1.s1, t2.s1 from tabelle1 t1 JOIN tabelle2 t2 ON t1.s1 = t2.s1 and t1.s2 = t2.s2 das sollte dein Problem lösen 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.