Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

problem mit 2 gleichen spalten

Empfohlene Antworten

Veröffentlicht

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

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

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

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)

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!

  • Autor

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.

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.