Gollum83 Geschrieben 26. September 2006 Teilen Geschrieben 26. September 2006 Hallo Leute, Ich möchte in der SQL-Syntax von einer Tabelle zwei Felder abrufen. Außerdem habe ich bei einem Feld einen Filter gesetzt.Führe ich die Anfrage aus und gabe einen geeigneten Wert ein, wird die Anfrage entsprechend ausgeführt, soweit also noch kein Problem. Was muss ich beim Filter eingeben, wenn ich beim Ausführen dann aber doch alle Datensätze angezeigt bekommen möchte. Ich weis, das Ganze klingt jetzt etwas seltsam, Ihr werdet jetzt wahrscheinlich denken, dass wenn man alle Datensätze haben möchte, keinen Filter braucht, aber das Ganze hat schon einen tieferen Sinn. Wie gesagt ich habe schon alles Mögliche probiert dem Filter zu übergeben: * , *.* , -1 geht alles nichts. Kurz die Syntax meiner Abfrage: SELECT Name, [salesperson Code] FROM [Contact] WHERE ([salesperson Code] = @filter) Wäre echt froh, wenn mir jemand helfen könnte. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigpoint Geschrieben 26. September 2006 Teilen Geschrieben 26. September 2006 diesen Zauberwort denn du vermutlich suchst heißt like Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gollum83 Geschrieben 26. September 2006 Autor Teilen Geschrieben 26. September 2006 Hallo bigpoint danke für die Antwort. Habs mit like probiert, geht leider immer noch nicht Gibt es zwischen den einzelnen SQL-Distributionen Unterschiede bei den Befehlen? Wie gesagt ich verwende den Microsoft SQL Server 2000 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigpoint Geschrieben 26. September 2006 Teilen Geschrieben 26. September 2006 Ist für die spalte Salesperson Code null zugelassen?, wenn nicht dann wurde ich als Filter not null benutzen bigpoint Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 26. September 2006 Teilen Geschrieben 26. September 2006 Gibt es zwischen den einzelnen SQL-Distributionen Unterschiede bei den Befehlen? Wie gesagt ich verwende den Microsoft SQL Server 2000 Da bin ich mir auch nicht sicher. Bei Oracle ist das % Zeichen das Wildcard Zeichen. Vielleicht klappt das ja auch beim Microsoft SQL Server Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gollum83 Geschrieben 26. September 2006 Autor Teilen Geschrieben 26. September 2006 an bigpoint: hab gerade geschaut, NULL ist zugelassen damit gehts leider auch nicht Pinhead: ich hab echt schon alle möglichen Zeichen durchprobiert, da hab ich echt nix gefunden. Hab mal gehört, dass der Befehl für alle Datensätze im MS SQl Server -1 sein soll, aber leider ebenfalls negativ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigpoint Geschrieben 26. September 2006 Teilen Geschrieben 26. September 2006 Gibt es zwischen den einzelnen SQL-Distributionen Unterschiede bei den Befehlen? Wie gesagt ich verwende den Microsoft SQL Server 2000 nein es gibt es keine Unterschider Hab mal gehört, dass der Befehl für alle Datensätze im MS SQl Server -1 sein soll, aber leider ebenfalls negativ ne, dass kann ich mir überhaupt nicht vorstellen -1 ist halt -1 hab gerade geschaut, NULL ist zugelassen damit gehts leider auch nicht dann wurde ich sagen, andere Möglichkeit gibt es nicht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 26. September 2006 Teilen Geschrieben 26. September 2006 ungetestet: WHERE 1=1 liefert TRUE und dürfte, wenn es mit dem bestehenden filterkriterium mit OR verbunden wird, alle DS liefern. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gollum83 Geschrieben 26. September 2006 Autor Teilen Geschrieben 26. September 2006 WHERE ([salesperson Code] = @filter) OR (1 = 1) stimmt, es werden alle Datensätze gebracht, Problem: wenn nach einem bestimmten Wert gefiltert wird, werden trotzdem alle Datensätze gebracht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Byteloser Geschrieben 26. September 2006 Teilen Geschrieben 26. September 2006 Declare @filter varchar(255) Set @filter = 'mayer' SELECT * FROM Customer WHERE Name LIKE @filter --Es werden Datensätze angezeigt, wo name = Mayer Set @filter = '%mayer%' SELECT * FROM Customer WHERE Name LIKE @filter --Es werden Datensätze angezeigt, wo name Mayer beinhaltet Set @filter = '%%' SELECT * FROM Customer WHERE Name LIKE @filter --Es werden ale Datensätze angezeigt Ist das hilfreich? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gollum83 Geschrieben 26. September 2006 Autor Teilen Geschrieben 26. September 2006 Hallo Byteloser: mit dem '%%' Zeichen zusammen mit der 'like'-Zuweisung funktionierts Danke Dir und allen anderen hier im Forum, Ihr habt mir echt gut weitergeholfen. Ich bin neu hier im Forum: muss ich das Thema schließen oder bleiben die allgemein offen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 26. September 2006 Teilen Geschrieben 26. September 2006 muss ich das Thema schließen oder bleiben die allgemein offen? zweiteres. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.