Thursday, 12 May 2016

SP to search in form

No comments
CREATE PROCEDURE [dbo].[Search] (
@CompanyName VARCHAR(150) = NULL
,@CountryName VARCHAR(50) = NULL
,@StateName VARCHAR(50) = NULL
,@CityName VARCHAR(50) = NULL
,@AddressType VARCHAR(10) = NULL
,@zip VARCHAR(20) = NULL
,@OrderId VARCHAR(50) = NULL
)
AS
BEGIN
IF (LEN(@CountryName) = 0)
BEGIN
SET @CountryName = NULL
END
ELSE
BEGIN
SET @CountryName = '%' + @CountryName + '%'
END

IF (LEN(@OrderId) = 0)
BEGIN
SET @OrderId = NULL
END

IF (LEN(@StateName) = 0)
BEGIN
SET @StateName = NULL
END
ELSE
BEGIN
SET @StateName = '%' + @StateName + '%'
END

IF (LEN(@CityName) = 0)
BEGIN
SET @CityName = NULL
END
ELSE
BEGIN
SET @CityName = '%' + @CityName + '%'
END

IF (LEN(@CompanyName) = 0)
BEGIN
SET @CompanyName = NULL
END
ELSE
BEGIN
SET @CompanyName = '%' + @CompanyName + '%'
END

IF (LEN(@zip) = 0)
BEGIN
SET @zip = NULL
END

PRINT @AddressType
PRINT ISNULL(@AddressType, '@@@@AddressType is null')


SELECT Address1
,Address2
,City
,ZIP
,Phone
,Email
,AddressType
,cntc.CountryId
,CompanyName
,StateId
,OrderId
,CountryName
,ContactsId
,'Contact' AS TypeTable
FROM Contacts cntc WITH (NOLOCK)
INNER JOIN Country cntry WITH (NOLOCK) ON cntc.CountryId = cntry.CountryId

WHERE ISNULL(CompanyName, '') LIKE COALESCE(@CompanyName, CompanyName, '')
AND ISNULL(CountryName, '') LIKE COALESCE(@CountryName, CountryName, '')
AND ISNULL(StateId, '') LIKE COALESCE(@StateName, StateId, '')
AND ISNULL(City, '') LIKE COALESCE(@CityName, City, '')
AND ISNULL(ZIP, '') = COALESCE(@zip, ZIP, '')
 AND OrderId = coalesce(@OrderId ,OrderId,''')
END