Ich habe ein Textfeld und 3 Dropdown-Boxen mit einem Element, das in jedem der Dropdown-Menüs ausgewählt werden konnte. Es gibt zwei Filterszenarien, die ich erreichen möchte.Verwenden von und oder in einem sql für mehrere Ergebnisse
Erhalten eines Filterergebnisses nach dem Eingeben eines Werts in das Textfeld und Auswählen von Werten in den nächsten beiden Textfeldern, wobei das letzte ausgelassen wird.
Sie erhalten eine Filterung, nachdem Sie einen Wert in das Textfeld eingegeben und Werte in den anderen drei Dropdown-Feldern ausgewählt haben, um das Ergebnis herauszufiltern. Mein Code unten kann nur jedes der Ergebnisse eins nach dem anderen erzeugen Wenn ich das "und" zu "oder" und das "oder" zu "und" s ändere. Kann jemand mit Änderung oder neuer Frage helfen, um die zwei Szenarien zu erreichen?
CREATE PROC Spsearchproduct @searchWord1OnMasterPage NVARCHAR (50),
@searchWord2OnMasterPage NVARCHAR (50),
@searchWord3OnMasterPage NVARCHAR (50),
@searchWord4OnMasterPage NVARCHAR (50)
AS
BEGIN
SELECT product.NAME,
price,
seller,
productstreetno.strno,
productstreet.streetname
FROM product
INNER JOIN productstreetno
ON product.streetnoid = productstreetno.idstreetno
INNER JOIN productstreet
ON product.streetid = productstreet.idstreet
INNER JOIN productstate
ON stateid = productstate.idstate
INNER JOIN productcity
ON cityid = productcity.idcity
WHERE product.NAME LIKE '%' + @searchWord1OnMasterPage + '%'
AND productstate.statename LIKE '%' + @searchWord2OnMasterPage + '%'
AND ((productcity.cityname LIKE '%' + @searchWord3OnMasterPage + '%')
OR (productstreet.streetname LIKE '%' + @searchWord4OnMasterPage + '%')
OR (productstreet.streetname IS NULL))
AND ((productcity.cityname LIKE '%' + @searchWord3OnMasterPage + '%')
OR (productstreet.streetname LIKE '%' + @searchWord4OnMasterPage + '%')
OR (productstreet.streetname IS NULL))
END
Welche Parameterwert von TextBox und Drop-Down darstellen? –
Vielen Dank JaydipJ. Sie sind alle String. –