SELECT DISTINCT EM SO UM CAMPO DA INSTRUCAO SQL

USUARIO.EXCLUIDOS 12/08/2007 12:23:21
#230568
Pessoal,

Estou com uma dificultade no sql distinct.
Tenho uma tabela que tem que retornar somente um campo dela: A instrução sql é:

SELECT DISTINCT ROT_CODIGO, ROTEIRO_FOTO.RF_fOTO, ROTEIRO.ROT_TITULO, ROTEIRO.ROT_DESCRICAO, ROTEIRO.ROT_PRECO, ROTEIRO.ROT_MOEDA
FROM ROTEIRO_FOTO INNER JOIN (ROTEIRO INNER JOIN ROTEIRO_HOME ON ROTEIRO.ROT_CODIGO = ROTEIRO_HOME.HOM_ROTEIRO) ON ROTEIRO_FOTO.RF_ROTEIRO = ROTEIRO.ROT_CODIGO
WHERE (((ROTEIRO_HOME.HOM_TIPO)='Destaque'));

Perceba qye no select em varios campos. Eu queria usar o DISTINCT somente no campo ROT_CODIGO, assim esse codigo não se repetiria. Hoje ele se repete com o distinct já que os outros campos não coincidem.

Se alguem souber como fazer um distinct somente no campo rot_codigo solucionaria meu problema.

Obrigado a todos!

USUARIO.EXCLUIDOS 13/08/2007 00:22:02
#230601
Resposta escolhida
Cara ... eu acho que na verdade não tem como solucionar esse problema.
Pois os outros campos não coincidem, o que deixa o distinct sem funcionalidade.

Mas, em todo o caso, não sei qual banco de dados vc usa, mas ja tentou usar da seguinte forma:

SELECT DISTINCT(ROT_CODIGO), ROTEIRO_FOTO.RF_fOTO, ROTEIRO.ROT_TITULO, ROTEIRO.ROT_DESCRICAO, ROTEIRO.ROT_PRECO, ROTEIRO.ROT_MOEDA
FROM ROTEIRO_FOTO INNER JOIN (ROTEIRO INNER JOIN ROTEIRO_HOME ON ROTEIRO.ROT_CODIGO = ROTEIRO_HOME.HOM_ROTEIRO) ON ROTEIRO_FOTO.RF_ROTEIRO = ROTEIRO.ROT_CODIGO
WHERE (((ROTEIRO_HOME.HOM_TIPO)='Destaque'));

Qualquer coisa, post ai de novo.
Flws
USUARIO.EXCLUIDOS 13/08/2007 11:38:43
#230662
Victor,

Obrigado pela ajuda!
Inferlizmente colocar entre parentesis não solucionou. Acabei usando a seguinte instrução:

SELECT DISTINCTROW TOP 3 ROT_CODIGO, RF_fOTO, ROT_TITULO, ROT_DESCRICAO, ROT_PRECO, ROT_MOEDA FROM ROTEIRO_FOTO INNER JOIN (ROTEIRO INNER JOIN ROTEIRO_HOME ON ROTEIRO.ROT_CODIGO = ROTEIRO_HOME.HOM_ROTEIRO) ON ROTEIRO_FOTO.RF_ROTEIRO = ROTEIRO.ROT_CODIGO WHERE (((ROTEIRO_HOME.HOM_TIPO)='Destaque')) And ROTEIRO.ROT_APAGADO = FALSE AND ROTEIRO_FOTO.RF_APAGADO = FALSE


Tópico encerrado , respostas não são mais permitidas