Benutzer mit den meisten Antworten
Abfrage mit "IN"

Frage
-
Hallo zusammen,
ich bastle gerade an einer Abfrage:
SELECT Nachname Vorname,
From tblPersonal WHERE KontaktID in(SELECT KontaktID FROM tblKontakte)
Das klappt soweit wunderbar,
jetzt sollte aber auch die Möglichkeit bestehen, den Filter auf "alle Kontakte" zu setzen.
Wie kann ich es anstellen , dass anstelle der Abfrage in "IN" auf alle Datensätze gefiltert wird bzw. nicht gefiltert wird.
Danke für Tipps und Grüße
Michael
Antworten
-
Da kenne ich nur 1 Möglichkeit: die Where-Klausel dann weg lassen;-).
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 25. August 2021 10:35
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Donnerstag, 2. September 2021 10:10
-
Hallo Michael,
jetzt sollte aber auch die Möglichkeit bestehen, den Filter auf "alle Kontakte" zu setzen.
Wenn mit "allen Kontakten" alle Datensätze in der Tabelle tblKontakte zusätzlich zu den bereits abgefragten Ergebnissen gemeint sind, versuch es mit einer rechten äußeren Verknüpfung:
SELECT p.Nachname, p.Vorname, k.KontaktID <, weitere Spalten aus der tblKontakte-Tabelle> From tblPersonal AS p RIGHT OUTER JOIN tblKontakte AS k ON p.KontaktID = k.KontaktID
Wenn nicht, erkläre bitte ausführlicher, was Dein Ziel ist.
Gruß,
DimitarBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 25. August 2021 10:35
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Donnerstag, 2. September 2021 10:10
-
Hallo Michael,
mit etwas zusätzlicher Logik geht dies problemlos:
Declare @AlleKontakte int = 1; Set @AlleKontakte = ? ; SELECT Nachname Vorname, From tblPersonal WHERE KontaktID in (SELECT KontaktID FROM tblKontakte) Or @AlleKontakte = 1;
Du musst halt die Variable vorher entsprechend initialisieren ( siehe das ? oben).
Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 25. August 2021 10:36
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Donnerstag, 2. September 2021 10:10
Alle Antworten
-
Da kenne ich nur 1 Möglichkeit: die Where-Klausel dann weg lassen;-).
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 25. August 2021 10:35
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Donnerstag, 2. September 2021 10:10
-
Hallo Michael,
jetzt sollte aber auch die Möglichkeit bestehen, den Filter auf "alle Kontakte" zu setzen.
Wenn mit "allen Kontakten" alle Datensätze in der Tabelle tblKontakte zusätzlich zu den bereits abgefragten Ergebnissen gemeint sind, versuch es mit einer rechten äußeren Verknüpfung:
SELECT p.Nachname, p.Vorname, k.KontaktID <, weitere Spalten aus der tblKontakte-Tabelle> From tblPersonal AS p RIGHT OUTER JOIN tblKontakte AS k ON p.KontaktID = k.KontaktID
Wenn nicht, erkläre bitte ausführlicher, was Dein Ziel ist.
Gruß,
DimitarBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 25. August 2021 10:35
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Donnerstag, 2. September 2021 10:10
-
Hallo Michael,
mit etwas zusätzlicher Logik geht dies problemlos:
Declare @AlleKontakte int = 1; Set @AlleKontakte = ? ; SELECT Nachname Vorname, From tblPersonal WHERE KontaktID in (SELECT KontaktID FROM tblKontakte) Or @AlleKontakte = 1;
Du musst halt die Variable vorher entsprechend initialisieren ( siehe das ? oben).
Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 25. August 2021 10:36
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Donnerstag, 2. September 2021 10:10