В моей таблице San_Imovel
у меня много свойств, и я хотел бы знать, есть ли какие-то дубликаты (свойство в том же адресе). Итак, я получаю адрес, который, как я уверен, обладает многими свойствами по этому же адресу, но в моем CASE WHEN EXIST
возвращается 0.CASE КОГДА EXIST возвращает 0, когда должен возвращаться 1
Может ли кто-нибудь мне помочь?
В операторе SELECT
внутри моего CASE WHEN EXITS
верните 47 строк, если я запустил его в одиночку.
QUERY
declare @cityName as varchar(100)
declare @neighborName as varchar(100)
declare @zipcode as varchar(8)
declare @complement as varchar(100)
declare @street as varchar(100)
declare @number as varchar(6)
set @cityName = 'Sao Paulo'
set @neighborName = 'Tupi'
set @zipcode = '31840050'
set @complement = '123'
set @street = 'Furquim werneck'
set @number = '5989828'
;WITH cte
AS (
SELECT City_Id, State_Id, CityName
FROM City
WHERE (CityName COLLATE SQL_Latin1_General_CP1_CI_AI) LIKE '' + @cityName + ''
)
select
CASE
WHEN EXISTS (
SELECT San_Imovel.Imovel_Id
FROM San_Imovel
WHERE San_Imovel.Number = @number
AND San_Imovel.ZipCode = @zipcode
AND San_Imovel.Complement = @complement
AND San_Imovel.Street = @street
AND San_Imovel.City_Id = cte.City_Id
)
THEN 1
ELSE 0
END AS ExistDuplicate
from cte
ДАННЫЕ ОБРАЗЦА
Imovel_Id bigint
Number int
Complement varchar
Street varchar
City_Id int
Zipcode varchar
Imovel_Id Number Complement Street City_Id ZipCode
433669 5989828 123 Furquim Werneck 2754 31840050
433670 5989828 123 Furquim Werneck 2754 31840050
433671 5989828 123 Furquim Werneck 2754 31840050
Как выглядят данные в таблицах? – DoctorMick
Ваш запрос верен, я уверен, ваш звонок не является. Тройная проверка значений, на которые установлены параметры. – Serge
Должны ли вы использовать 'N'''-строки и' nvarchar' в некоторых местах? –