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.

Inner Join in Access

Empfohlene Antworten

Veröffentlicht

Tag,

Ich hab das Problem, dass mein Select-Statement mit 2 Inner Joins in Access nicht aktzeptiert wird.

Ich hab 3 Tabellen (LoadCarryingCapacity, LoadRanges und HitMainTypes)

Tabelle LoadCarryingCapacity zeigt auf LoadRanges und diese wiederum auf HitMainTypes.

Soweit klar.

Nun möchte ich bestimme Datensätze in LoadCarryingCapacity, die einen Namen aus LoadRanges und einen aus HitMainTypes brauchen.

Problem ist nur, dass Access bei meinem SELECT-Statement meckert, dass da ein Operator fehlt - ich weiß aber nicht wo.


SELECT Height, M_Plus, M_Minus, V_Plus, V_Minus 

FROM LoadCarryingCapacity

INNER JOIN LoadRanges  ON (LoadCarryingCapacity.LoadRangeID = LoadRanges.ID)

INNER JOIN HitMainTypes ON (LoadRanges.HitMainTypeID = HitMainTypes.ID)

WHERE (LoadRanges.Name = '14/10') AND (HitMainTypes.Name = 'BD')

Wäre dankbar für Vorschläge.

  • Autor

Ok, ich hab es mal ganz trivial gelößt...


SELECT * FROM LoadCarryingCapacity WHERE LoadRangeID = (SELECT ID FROM LoadRanges WHERE Name = '14/10' AND HitMainTypeID = (SELECT ID FROM HitMainTypes WHERE Name = 'BD'));

:floet:

in der Access Hilfe unter "Inner Join" steht folgendes:

SELECT Felder

FROM Tabelle1 INNER JOIN

(Tabelle2 INNER JOIN [( ]Tabelle3

[iNNER JOIN [( ]Tabellex [iNNER JOIN ...)]

ON Tabelle3.Feld3 Vergleichsoperator Tabellex.Feldx)]

ON Tabelle2.Feld2 Vergleichsoperator Tabelle3.Feld3)

ON Tabelle1.Feld1 Vergleichsoperator Tabelle2.Feld2;

Je nach Datenbanksystem sind Join-Operationen performanter als Subselects (bzw. können besser optimiert werden)

jup, die syntax wäre korrekt gewesen.

Aber ich zweifle mal stark daran dass Access durch inner join performanter wird.

übrigens, funktioniert diese syntax auch nicht immer. das hab ich mal am eigenen leib erfahren als ich meterlange Stored Procedures in Stored Querys übertragen musste ;)

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.