Gleichzeitig Zutreffende Kriterien in ein Access-Abfrage
Moin zusammen!
Ich stehe gerade auf dem Schlauch:
Ich möchte eine Abfrage auf eine Tabelle mit 3 Spalten realisieren.
Die Tabelle enthält folgende Spalten
ID, Gruppe, Adressnr
Es kann nun also vorkommen, dass ein Adresse A1 mehrfach vorkommt, weil sie zu Gruppe G1 und G2 gehört.
Ich möchte nun eine Abfrage realisieren, bei der nur die Adressen angezeigt werden, die z.B. in G1 UND G2 sind.
NICHT ODER
Aber irgendwie sehe ich den Wald vor lauter Bäumen nciht.
Die Kriterien sollen aus einem Kombinations oder Listenfeld kommen, das ist nicht das Problem. Ich verstehe einfach nicht, wie ich das mit dem UND
bei den Kriterien bauen soll.
Vielleicht kann mir jemand nen virtuellen Schlag auf den Hinterkopf geben
Gruß,
Napperman
Ich stehe gerade auf dem Schlauch:
Ich möchte eine Abfrage auf eine Tabelle mit 3 Spalten realisieren.
Die Tabelle enthält folgende Spalten
ID, Gruppe, Adressnr
Es kann nun also vorkommen, dass ein Adresse A1 mehrfach vorkommt, weil sie zu Gruppe G1 und G2 gehört.
Ich möchte nun eine Abfrage realisieren, bei der nur die Adressen angezeigt werden, die z.B. in G1 UND G2 sind.
NICHT ODER
Aber irgendwie sehe ich den Wald vor lauter Bäumen nciht.
Die Kriterien sollen aus einem Kombinations oder Listenfeld kommen, das ist nicht das Problem. Ich verstehe einfach nicht, wie ich das mit dem UND
bei den Kriterien bauen soll.
Vielleicht kann mir jemand nen virtuellen Schlag auf den Hinterkopf geben
Gruß,
Napperman
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 207558
Url: https://administrator.de/contentid/207558
Ausgedruckt am: 20.11.2024 um 17:11 Uhr
3 Kommentare
Neuester Kommentar
bei der nur die Adressen angezeigt werden, die z.B. in G1 UND G2 sind. NICHT ODER
.. eine Möglichkeit:SELECT
AdressNr,
COUNT( ID ) AS 'anzahl'
WHERE Gruppe IN ('G1', 'G2')
GROUP BY Adressnr
HAVING anzahl = 2
SELECT t1.Adressnr, t1.ID, t2.ID
FROM Tabelle t1
JOIN Tabelle t2 on ( t1.Adressnr = t2.Adressnr )
WHERE
t1.Gruppe = 'G1' AND
t2.Gruppe = 'G2
@nxclass
Nur als Ergänzung.
- die erste Abfrage würde möglicherweise ein vorzeigbareres Ergebnis liefern, wenn das Schlüsselwort "FROM" gefolgt von einem Tabellennamen erwähnt werden würde.
- die zweite Abfrage könnte ein bisschen länger dauern, wenn mehr als ein paar Datensätze in der Tabelle sind und kein Index auf der Adressnr liegt oder schlicht und einfach Addressfelder NULL oder leere Strings sind.
Wenn schon diese Strategie, dann würde ich als Tabelle t1 die wählen, die voraussichtlich die geringere Anzahl Datensätze mit Gruppenzugehörigkeit "G1" hat und dann:
Grüe
Biber
Nur als Ergänzung.
- die erste Abfrage würde möglicherweise ein vorzeigbareres Ergebnis liefern, wenn das Schlüsselwort "FROM" gefolgt von einem Tabellennamen erwähnt werden würde.
- die zweite Abfrage könnte ein bisschen länger dauern, wenn mehr als ein paar Datensätze in der Tabelle sind und kein Index auf der Adressnr liegt oder schlicht und einfach Addressfelder NULL oder leere Strings sind.
Wenn schon diese Strategie, dann würde ich als Tabelle t1 die wählen, die voraussichtlich die geringere Anzahl Datensätze mit Gruppenzugehörigkeit "G1" hat und dann:
SELECT t1.Adressnr, t1.ID, t2.ID
FROM Tabelle (select Addressnr, ID from Tabelle
where Gruppe='G1') t1
JOIN (select Addressnr, ID from Tabelle
where Gruppe='G2' )
t2 on ( t1.Adressnr = t2.Adressnr )
Grüe
Biber