Access: Inner Join mit zwei Werten (eindeutiger key besteht immer aus zwei Werten)
Kann man ein innerjoin on mit zwei Werten machen?
Problem:
Es gibt zwei Tabellen, die wie folgt aussehen:
content:
schema_id
node_id
content_id
red_workflow:
schema_id
node_id
name
Nun möchte ich eine Abfrage nach name, content_id auf beide Tabellen zusammen loslassen, unter der Bedingung, dass schema_id und node_id in beiden Tabellen gleich sind. Also der eindeutige Schlüssel besteht aus zwei Feldern.
Ich kann die Tabellenstruktur nicht ändern (ist ne Oracle-Tabelle, die ich per Verknüpfung nach Access hole).
Momentan ist sie nur über die node_id verknüpft aber das Feld ist nicht eindeutig:
SELECT content.node_id, red_workflow.name
FROM red_workflow INNER JOIN content ON red_workflow.node_id = content.node_id
WHERE (((content.schema_id) Like "S350") AND ((content.erstellt)>#5/18/2005#));
Geht folgendes:
SELECT content.node_id, red_workflow.name
FROM red_workflow INNER JOIN content ON (AND (red_workflow.node_id = content.node_id) (red_workflow.schema_id=content.schema_id))
WHERE (((content.schema_id) Like "S350") AND ((content.erstellt)>#5/18/2005#));
Geht das irgendwie so? Oder ganz anders?
Problem:
Es gibt zwei Tabellen, die wie folgt aussehen:
content:
schema_id
node_id
content_id
red_workflow:
schema_id
node_id
name
Nun möchte ich eine Abfrage nach name, content_id auf beide Tabellen zusammen loslassen, unter der Bedingung, dass schema_id und node_id in beiden Tabellen gleich sind. Also der eindeutige Schlüssel besteht aus zwei Feldern.
Ich kann die Tabellenstruktur nicht ändern (ist ne Oracle-Tabelle, die ich per Verknüpfung nach Access hole).
Momentan ist sie nur über die node_id verknüpft aber das Feld ist nicht eindeutig:
SELECT content.node_id, red_workflow.name
FROM red_workflow INNER JOIN content ON red_workflow.node_id = content.node_id
WHERE (((content.schema_id) Like "S350") AND ((content.erstellt)>#5/18/2005#));
Geht folgendes:
SELECT content.node_id, red_workflow.name
FROM red_workflow INNER JOIN content ON (AND (red_workflow.node_id = content.node_id) (red_workflow.schema_id=content.schema_id))
WHERE (((content.schema_id) Like "S350") AND ((content.erstellt)>#5/18/2005#));
Geht das irgendwie so? Oder ganz anders?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 10911
Url: https://administrator.de/forum/access-inner-join-mit-zwei-werten-eindeutiger-key-besteht-immer-aus-zwei-werten-10911.html
Ausgedruckt am: 10.04.2025 um 04:04 Uhr
4 Kommentare
Neuester Kommentar
Warum benutzt Du nicht den "grafischen Abfragen-Designer" in Access, damit kannst Du Deine Abfragen klar definieren und testen und dann die SQL-Anweisung in Deine Anwendung kopieren? Wenn Du beide Tabellen in Deiner Abfrage hast, musst Du nur per Drag and Drop die Beziehungen zwischen den Feldern (durch ziehen von Feld(a)-Tabelle1 auf Feld(x)-Tabelle2 [in Deinem Fall zwei Mal machen])) herstellen. Auf diese Verbindung(en) dann ein Mal links klicken (Linie wird dick), dann rechts klicken - da kannst Du dann die Beziehungsart bestimmen. Zum Schluss die SQL-Darstellung wählen, das war's,
Gruß
Atti.
Gruß
Atti.