Ir para o conteúdo
ferreira12

Group By Image

Mensagens Recomendadas

ferreira12

Olá

Estou com o seguinte erro na minha query

The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.

no meu select tenho o campo imagem, como estou a fazer sum, ele obriga-me a colocar um group by, o problema é que quando coloco o campo image no group by dá me o erro acima descrito, já tentei converter, mas não resultou. Existe alguma possibilidade de contornar?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ferreira12

A query que estou a utilizar é:

select top 40 ProdutosExist.ArtigoRef , Sum(Qtd1+Qtd2+Qtd3)AS Total,
[fnVendas].qtd, Fotos.imagem
from ProdutosExist
inner join [dbo].[fnVendas]('08-08-2013 00:01','08-08-2013 23:59') on [fnVendas].ProdutosRef= ProdutosExist.ProdutosRef
inner JOIN Fotos ON '0'+SUBSTRING([fnVendas].ProdutosRef,1,3)+SUBSTRING([fnVendas].ProdutosRef,5,4)+'.jpg' = ImagemN
group by ProdutosExist.ProdutosRef, [fnVendas].qnt,[fnVendas].ProdutosRef, Fotos.Imagem
order by [fnVendas].qnt desc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bruno1234

O melhor é deixares a foto de fora do group by e da query.

Depois de teres os resultados agrupados, então sim, fazes um join para obter a foto.

Precisas de carregar logo todas as imagens?

Se só precisares delas depois, ganhas em performance se não as trouxeres, a dimensão ainda deve ser significativa para 40 fotos.


Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ferreira12

utilizei Left join, mas a conclusao foi o mesmo erro.. ou seja voltei ao mesmo sitio.

Quando falas em join e junção, qual é a tua ideia para agrupas as fotos?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
xBoShY
with totais as
 (select top 40 ProdutosExist.ArtigoRef, Sum(Qtd1+Qtd2+Qtd3) AS Total, fnVendas.qtd
  from ProdutosExist
  inner join dbo.fnVendas('08-08-2013 00:01','08-08-2013 23:59')
  on fnVendas.ProdutosRef = ProdutosExist.ProdutosRef
  group by ProdutosExist.ProdutosRef, fnVendas.qnt, fnVendas.ProdutosRef
  order by fnVendas.qnt desc)
select totais.ArtigoRef, totais.Total, totais.qtd, Fotos.imagem
from totais
left join Fotos
on '0'+SUBSTRING(totais.ProdutosRef, 1, 3)+SUBSTRING(totais.ProdutosRef, 5, 4)+'.jpg' = Fotos.ImagemN

Editado por xBoShY

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.