Usuário com melhor resposta
DISTINCT

Pergunta
-
Seguinte pessoal, tenho a seguinter procedure:
Code BlockCREATE PROCEDURE sp_SearchZip
(
@District_ZIP NvarChar(7)
)
AS
SELECT State.State_ID, State.State_Name_Alpha, District.District_ZIP, District.District_Name_Alpha,
City.City_Name_Alpha, City.City_ID, District.District_ID
FROM District INNER JOIN
City ON City.City_ID = District.City_ID INNER JOIN
State ON City.State_ID = State.State_ID
WHERE District.District_ZIP = @District_ZIP
GOfunciona, mais se ha mais de um District.District_Name_Alpha, ele me retorna o campo state e city repetidos, como eu faco para filtrar isso?tentei distinct mais nao deu certo...
Respostas
-
Resolvi meu problema da seguinte forma:
criei procedures separadas, uma para state, outra pra city e district, retirei o District_ID das procedures State e City, e coloquei o Distinct:
Code BlockCREATE PROCEDURE sp_StateZip
(
@District_ZIP Nvarchar(7)
)
AS
SELECT DISTINCT State.State_Name_Alpha, State.State_ID, District.District_ZIP
FROM District Inner JOIN
State ON District.State_ID = State.State_ID
WHERE District.District_ZIP =@District_ZIP
GOCode BlockCREATE PROCEDURE sp_CityZip
mailto:District.District_ZIP=@District_ZIP">District.District_ZIP=@District_ZIP)
(
@District_ZIP nvarchar(7)
)
AS
SELECT DISTINCT City.City_ID, District.District_ZIP, City.City_Name_Alpha
FROM City INNER JOIN
District ON City.City_ID = District.City_ID
Where (District.District_ZIP=@District_ZIP)
GO
GO <P< A>align=left>Code BlockCREATE PROCEDURE sp_ZipDistrict
(
@District_ID int
)
AS
SELECT DISTINCT District_ZIP, District_Name_Alpha, District_ID
FROM District
WHERE District_ID =@District_ID
GO
Todas as Respostas
-
-
-
State - City - 1..N
State - District - 1..N
City - District 1..N
Funciona assim: Digitando o District_ZIP , me acha o State que pode ser somente um, o City, que pode ser N, e o District que depende do City...o que esta acontecendo e que quando digito o District_ZIP ele me da por exemplo 5 District_Name_Alpha, mais me da no campo State_Name_Alpha e City Name_Alpha 5 vezes escrito a mesma coisa...
OBS: District_Name_Alpha e District_ZIP estao na mesma tabela, porem pode ter mais de um District_Name_Alpha para cada District_ZIP
-
Resolvi meu problema da seguinte forma:
criei procedures separadas, uma para state, outra pra city e district, retirei o District_ID das procedures State e City, e coloquei o Distinct:
Code BlockCREATE PROCEDURE sp_StateZip
(
@District_ZIP Nvarchar(7)
)
AS
SELECT DISTINCT State.State_Name_Alpha, State.State_ID, District.District_ZIP
FROM District Inner JOIN
State ON District.State_ID = State.State_ID
WHERE District.District_ZIP =@District_ZIP
GOCode BlockCREATE PROCEDURE sp_CityZip
mailto:District.District_ZIP=@District_ZIP">District.District_ZIP=@District_ZIP)
(
@District_ZIP nvarchar(7)
)
AS
SELECT DISTINCT City.City_ID, District.District_ZIP, City.City_Name_Alpha
FROM City INNER JOIN
District ON City.City_ID = District.City_ID
Where (District.District_ZIP=@District_ZIP)
GO
GO <P< A>align=left>Code BlockCREATE PROCEDURE sp_ZipDistrict
(
@District_ID int
)
AS
SELECT DISTINCT District_ZIP, District_Name_Alpha, District_ID
FROM District
WHERE District_ID =@District_ID
GO -