severinbuob
Goto Top

Abfrage: Erster Datensatz wählen

Hallo zusammen,

Ich habe folgende Tabellen in meiner Access XP Datenbank:

grdVerbrauchsmaterial:
- VID
- Modell

grdZuweisung:
- ZID
- fk_VID
- fk_DTypID

grdDruckertyp:
- DTypID
- Bezeichnung


Referenzen:
fk_VID --> VID
fk_DTypID --> DTypID

Wie kann ich nun eine Abfrage erstellen, in der er jedes Verbrauchsmaterial, aber nur jeweils der erste Druckertyp ausgibt. Habe ich ein Verbrauchsmaterial das für zwei Drucker passt, so zeigt er das zwei mal in der Inventarkontrolle an, dies möchte ich jedoch unterbinden weil der Druckertyp ledeglich die Arbeit vereinfach soll.

Hier noch ein Bild zur Veranschaulichung:

b8a601bd77702f569e717de73a61b1ec-unbenannt-1


Vielen Dank für eure Unterstützung.

Gruss
Severin

Content-Key: 45113

Url: https://administrator.de/contentid/45113

Printed on: April 25, 2024 at 14:04 o'clock

Member: Biber
Biber Nov 22, 2006 at 16:05:18 (UTC)
Goto Top
Moin severinbuob,

der SELECT Deiner Abfrage sollte ein "Distinct(VID)" ent- bzw. erhalten.

Also sinngemäß [und ungetestet]

 select distinct(V.VID), V.Modell, T.TypID, T Bezeichnung
from grdVerbrauchsmaterial V 
left outer join (select fk_VID, fk_DTypID from grdZuweisung) Z on Z.fk_VID=V.VID
left join (select * from grdDruckerTyp) T on T.DTypID=Z.fk_DTypID
order by VID

Gruß
Biber
Member: severinbuob
severinbuob Dec 04, 2006 at 13:55:21 (UTC)
Goto Top
Salü Biber

Danke für deine Hilfe. Habe deinen Code getestet und angepasst. Doch trozdem liefert er immer noch nicht das gewünschte Ergebniss. Mein Wunsch wäre dass er alle Verbrauchsmaterialien ausgibt aber nur ein dazugehöriger Drucker.

SELECT DISTINCT(grdVerbrauchsmaterial.VID), grdVerbrauchsmaterial.ArtBez, grdDruckertyp.DTypID, grdDruckertyp.Modell
FROM 
((grdVerbrauchsmaterial LEFT OUTER JOIN grdZuweisung on grdZuweisung.fk_VID = grdVerbrauchsmaterial.VID)
LEFT JOIN grdDruckertyp on grdDruckertyp.DTypID = grdZuweisung.fk_DTypID)
ORDER BY VID;

Gruss
Severin
Member: Biber
Biber Dec 04, 2006 at 22:46:25 (UTC)
Goto Top
Moin severinbuob,

vielleicht ist mir das so zu abstrakt... face-wink

Nochmal für Aussenstehende wie mich:
- in der grdVerbrauchmaterial sind alle nnn VIDs
- und die Beziehung zu der grdZuweisung ist eine 1:1 oder 1:n oder m:n??
Ist dasselbe Verbrauchsmateial in max. einem Drucker oder kann es auch in allen sein?

Oder noch besser: poste doch bitte mal die ersten 5 Datensätze, die heute falsch rausfallen und die 5 Zeilen, wie Du sie Dir wünschen würdest.

Ich bin nicht so gut im Hineindenken in abstrakte Problematiken.
Sonst wäre ich jetzt Beamter und würde EU-Richtlinien für die Mindestgrößen von Import-Radieschen definieren...

Grüße
Biber
Member: severinbuob
severinbuob Dec 05, 2006 at 09:31:04 (UTC)
Goto Top
Gut hab ich gemacht.
Das Bild ist im Beitrag eingefügt.
Es geht mir um die zwei Datensätze mit der VID 17. Dort sollte beim Modell einfach der erste existierende datensatz dazu genommen werden und nicht noch zu jedem modell jeder VID angezeigt werden.
Ach ja noch zu deiner Frage: Die Beziehung zu grdZuweisung ist eine 1:n Verknüpfung.