Veröffentlicht 26. September 200618 j 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.
26. September 200618 j 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
26. September 200618 j Ist für die spalte Salesperson Code null zugelassen?, wenn nicht dann wurde ich als Filter not null benutzen bigpoint
26. September 200618 j 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
26. September 200618 j 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
26. September 200618 j 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
26. September 200618 j ungetestet: WHERE 1=1 liefert TRUE und dürfte, wenn es mit dem bestehenden filterkriterium mit OR verbunden wird, alle DS liefern. s'Amstel
26. September 200618 j 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
26. September 200618 j 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?
26. September 200618 j 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?
26. September 200618 j muss ich das Thema schließen oder bleiben die allgemein offen? zweiteres. s'Amstel
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.