stoperror

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?
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

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: 06.07.2025 um 06:07 Uhr

Atti58
Atti58 20.05.2005 um 08:33:46 Uhr
Deine Abfrage müsste ohne "WHERE" ungefähr so aussehen:

SELECT content.node_id, red_workflow.name
FROM content INNER JOIN red_workflow ON (content.node_id = red_workflow.node_id) AND (content.schema_id = red_workflow.schema_id);

Gruß

Atti
stoperror
stoperror 20.05.2005 um 09:31:03 Uhr
Danke.
Ich hatte mir das jetzt komplizierter vorgestellt. Klasse, dass das so einfach geht face-wink
Atti58
Atti58 20.05.2005 um 09:55:38 Uhr
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.
stoperror
stoperror 20.05.2005 um 10:12:21 Uhr
Ja genau, ich war mir aber nicht sicher, ob das so funktioniert, dass man einfach mehrere Felder zueinander in Beziehung setzt. Aber nun weiss ich's ja.
Danke nochmal vielmals.