ajuda com erro em query

SQL Server

21/01/2013

Pessoal,

Tenho esta query que esta dando o seguinte erro onde esta destacado em MAIUSCULO (segunda linha - case when...):

"A conversão implícita do valor varchar em char não pode ser executada porque o agrupamento do valor não está resolvido devido a um conflito de agrupamento."

select tm.numeromov,tm.codcfo,f.nome,CB.codcesta, tm.DATAEMISSAO,


CASE WHEN CB.ENDENTREGA IS NULL THEN F.RUA ELSE CB.ENDENTREGA END AS ENDENTREGA,


cb.cidadeentrega,cb.complentrega,cb.dataentrega,cb.numentrega,cb.motorista,cb.confmontador,
f.RUAENTREGA,f.RUA,f.NUMERO,f.NUMEROENTREGA,f.BAIRRO,f.BAIRROENTREGA,f.TELEFONE,f.TELEFONEENTREGA
,f.CIDADE,f.CIDADEENTREGA,f.CODETD,f.CODETDENTREGA
from tmov tm
inner join TMOVCOMPL tmc on (tmc.IDMOV = tm.idmov)
inner join FCFO f on (f.CODCFO = tm.codcfo)
inner join varejaocereais.dbo.CestaBasica cb on (cb.codcesta = tmc.CODIGOCESTAS collate database_default)
where tm.STATUS <> ''C'' and tm.CODTMV = ''2.2.01''
and tm.DATAEMISSAO >=''17/01/2013''
and tm.DATAEMISSAO <=''17/01/2013''
order by f.NOME


Se alguém puder ajudar, fico grato.
Victor Pavia

Victor Pavia

Curtidas 0

Respostas

Alex Lekao

Alex Lekao

21/01/2013

oi boa tarde!!!

experimenta forcar uma conversão para ver se funciona.

desculpe não ajudar muito, mas não consegui entender bem o código.

Abraco.

Alex - Lekao
GOSTEI 0
Ricardo Araujo

Ricardo Araujo

21/01/2013

Fiz algumas mudança no seu SQL, da uma olhada acho que é isto..



select tm.numeromov,tm.codcfo,f.nome,CB.codcesta, tm.DATAEMISSAO,

CASE
WHEN CB.ENDENTREGA IS NULL THEN
convert(varchar(20), F.RUA)
ELSE
convert(varchar(20), CB.ENDENTREGA)
END AS ENDENTREGA,

cb.cidadeentrega,
cb.complentrega,
cb.dataentrega,
cb.numentrega,
cb.motorista,
cb.confmontador,
f.RUAENTREGA,
f.RUA,
f.NUMERO,
f.NUMEROENTREGA,
f.BAIRRO,
f.BAIRROENTREGA,
f.TELEFONE,
f.TELEFONEENTREGA,
f.CIDADE,
f.CIDADEENTREGA,
f.CODETD,
f.CODETDENTREGA
from tmov tm inner join TMOVCOMPL tmc on (tmc.IDMOV = tm.idmov)
inner join FCFO f on (f.CODCFO = tm.codcfo)
inner join varejaocereais.dbo.CestaBasica cb on (cb.codcesta = tmc.CODIGOCESTAS collate database_default)
where tm.STATUS <> 'C' and tm.CODTMV = '2.2.01'
and CONVERT(date, tm.DATAEMISSAO, 103) between
convert(date, '17/01/2013', 103) and CONVERT(date, '17/01/2013', 103)

order by f.NOME
GOSTEI 0
POSTAR