Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Fluffy am Juli 11, 2011, 16:00:00

Titel: Abfrage mit 1-n Beziehung
Beitrag von: Fluffy am Juli 11, 2011, 16:00:00
Hallo,

folgendes Problem.

Ich habe in einer Tabelle Adressen mit Namen usw..
In einer anderen Tabelle habe ich Systeme, die aufgeteilt sind in Technischer Besitzer und Systembesitzer.

Jetzt will ich eine Auswahl treffen, bei der ich zu einem System den Namen des Besitzers ausgebe.
D.h. aus der Tabelle Adresse 2x den Namen
Wie kriege ich das hin?

SELECT Nodes.Node_ID, Nodes.NodeName, Nodes.ContactIDOwnerTech, Nodes.ContactIDOwnerProduct, Contacts.Contact_id, Contacts.OwnerName, Contacts.OwnerVorname
FROM Nodes LEFT JOIN Contacts ON (Nodes.ContactIDOwnerTech = Contacts.Contact_id) AND (Nodes.ContactIDOwnerProduct = Contacts.Contact_id);

Er zeigt natürlich keinen Namen an, weil er nicht weiß, welchen er nehmen soll.


Gruss Fluffy
Titel: Re: Abfrage mit 1-n Beziehung
Beitrag von: database am Juli 11, 2011, 19:52:51
Hallo,

eine der Möglichkeiten wäre es mit 3 Abfragen zu arbeiten.
Abfrage1 bringt dabei alle Product-Contacts:


SELECT Nodes.NodeName, Contacts.Contact_ID, Contacts.OwnerName AS ProdN, Contacts.OwnerVorname AS ProdV, Nodes.Node_ID
FROM Contacts INNER JOIN Nodes ON Contacts.Contact_ID = Nodes.ContactIDOwnerProduct;


Abfrage2 bringt alle Tech-Contacts:


SELECT Contacts.Contact_ID, Nodes.NodeName, Contacts.OwnerName AS TechN, Contacts.OwnerVorname AS TechV, Nodes.Node_ID
FROM Contacts INNER JOIN Nodes ON Contacts.Contact_ID = Nodes.ContactIDOwnerTech;


und Abfrage3 verbindet die Informationen über die Node_ID um Product- und Tech ContactsNamen gemeinsam anzuzeigen.


SELECT Abfrage3.ProdN, Abfrage3.ProdV, Abfrage3.NodeName, Abfrage3.Node_ID, Abfrage4.TechN, Abfrage4.TechV
FROM Abfrage3 INNER JOIN Abfrage4 ON Abfrage3.Node_ID = Abfrage4.Node_ID;


HTH
Titel: Re: Abfrage mit 1-n Beziehung
Beitrag von: Fluffy am Juli 13, 2011, 08:18:09
Danke, versuch ich mal  :)