Jump to content
ferreira12

Group By Image

Recommended Posts

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?

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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

Edited by xBoShY

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.