Array
(
)

Distinct

Gilcosme
   - 06 fev 2004

Bom Dia !
Estou com um problema com o meu select. Mesmo usando o comando DISTINCT em um unico campo ele continua vindo repetido:

SELECT DISTINCT(P.PesFax), P.PesNomLon,
C.CarDes, E.PesNomLon as Empresa
FROM Pessoa AS P LEFT JOIN Cargo AS C
ON P.CarCod = C.CarCod LEFT JOIN Pessoa AS E
ON P.PesFunEmp = E.PesCod LEFT JOIN Planejamento_Pessoa as PP
ON P.PesCod = PP.PesCod
WHERE PP.PlaCod = ´4258´ and (P.PesTip = ´F´ or P.PesTip = ´P´) and P.PesFax <> ´´
and PP.PlaPesFax = 0 and (LEN(P.PesFax) = 9 or LEN(P.PesFax) = 10)

Será q alguém poderia me ajudar ????

Julio Diniz
   - 09 fev 2004

O Distinct não é um comando que vai retirar a repetição de um campo, e sim de uma linha inteira. É por isso q o código em questão se repete. As linhas que aparecem são todas diferentes. Abaixo segue o help do transact-Sql do Sql Server.

DISTINCT

Specifies that only unique rows can appear in the result set. Null values are considered equal for the purposes of the DISTINCT keyword.

Mysys
   - 09 fev 2004

acho que o que voce quer é o GROUP BY(CAMPO)
da uma olhada no Help que tem a sintax correta

ele agrupa em uma so linha o campo (CAMPO) que tiver o mesmo valor