Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gilnet

Select com group by

Recommended Posts

Pessoal,

 

Tenho o scritp abaixo e preciso agrupar pela ordem de servico(idOrdemServico)

SELECT 
  dbo.tbOrdemServico.idOrdemServico,
  dbo.tbCliente.Nome,
  dbo.tbOrdemServico.QTDEEstampada,
  dbo.tbOrdemServico.QTDEDefeito,
  dbo.tbOrdemServico.QTDEFurada,
  dbo.tbOrdemServico.DataBaixa,
  dbo.tbOrdemServico.OBSBaixa,
  dbo.tbEstampa.RefEstampa,
  dbo.tbEstampa.Estampa,
  dbo.tbItemOrdemServico.Unidade,
  dbo.tbCor.Cor AS CorTecido,
  tbCor1.Cor AS CorEstampa1,
  tbCor2.Cor AS CorEstampa2,
  tbCor3.Cor AS CorEstampa3,
  tbCor4.Cor AS CorEstampa4,
  tbCor5.Cor AS CorEstampa5,
  tbCor6.Cor AS CorEstampa6,
  dbo.tbProcesso.Processo,
  dbo.tbTarefa.FDataHora,
  dbo.tbTarefa.IDataHora,
  dbo.tbFuncionario.Nome AS Conferente,
  tbFuncionario1.Nome AS Funcionario
FROM
  dbo.tbOrdemServico
  INNER JOIN dbo.tbCliente ON (dbo.tbOrdemServico.idCliente = dbo.tbCliente.idCliente)
  INNER JOIN dbo.tbEstampa ON (dbo.tbOrdemServico.idEstampa = dbo.tbEstampa.idEstampa)
  INNER JOIN dbo.tbItemOrdemServico ON (dbo.tbOrdemServico.idOrdemServico = dbo.tbItemOrdemServico.idOrdemServico)
  LEFT OUTER JOIN dbo.tbCor ON (dbo.tbItemOrdemServico.idCorTecido = dbo.tbCor.idCor)
  LEFT OUTER JOIN dbo.tbCor tbCor1 ON (dbo.tbItemOrdemServico.idCorEstampa1 = tbCor1.idCor)
  LEFT OUTER JOIN dbo.tbCor tbCor2 ON (dbo.tbItemOrdemServico.idCorEstampa2 = tbCor2.idCor)
  LEFT OUTER JOIN dbo.tbCor tbCor3 ON (dbo.tbItemOrdemServico.idCorEstampa3 = tbCor3.idCor)
  LEFT OUTER JOIN dbo.tbCor tbCor4 ON (dbo.tbItemOrdemServico.idCorEstampa4 = tbCor4.idCor)
  LEFT OUTER JOIN dbo.tbCor tbCor5 ON (dbo.tbItemOrdemServico.idCorEstampa5 = tbCor5.idCor)
  LEFT OUTER JOIN dbo.tbCor tbCor6 ON (dbo.tbItemOrdemServico.idCorEstampa6 = tbCor6.idCor)
  INNER JOIN dbo.tbTarefa ON (dbo.tbOrdemServico.idOrdemServico = dbo.tbTarefa.idOrdemServico)
  INNER JOIN dbo.tbProcesso ON (dbo.tbTarefa.idProcesso = dbo.tbProcesso.idProcesso)
  INNER JOIN dbo.tbFuncionario ON (dbo.tbTarefa.idConferente = dbo.tbFuncionario.idFunc)
  INNER JOIN dbo.tbFuncionario tbFuncionario1 ON (dbo.tbTarefa.idFunc = tbFuncionario1.idFunc)
WHERE
  dbo.tbOrdemServico.idOrdemServico = '00033'
  group by
  dbo.tbOrdemServico.idOrdemServico,
  dbo.tbCliente.Nome,
  dbo.tbOrdemServico.QTDEEstampada,
  dbo.tbOrdemServico.QTDEDefeito,
  dbo.tbOrdemServico.QTDEFurada,
  dbo.tbOrdemServico.DataBaixa,
  dbo.tbOrdemServico.OBSBaixa,
  dbo.tbEstampa.RefEstampa,
  dbo.tbEstampa.Estampa,
  dbo.tbItemOrdemServico.Unidade,
  dbo.tbCor.Cor,
  tbCor1.Cor,
  tbCor2.Cor,
  tbCor3.Cor,
  tbCor4.Cor,
  tbCor5.Cor,
  tbCor6.Cor,
  dbo.tbProcesso.Processo,
  dbo.tbTarefa.FDataHora,
  dbo.tbTarefa.IDataHora,
  dbo.tbFuncionario.Nome,
  tbFuncionario1.Nome
erro: The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.

 

Alguma dica ?????

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido.

 

Solução:

 

Por distração, incluí na lista o campo OBSBaixa esse campo é um campo memo. Foi só retira-lo da lista e acrescentar a clausula MAX antes de cada campo que não faz parte do agrupamento e pronto. Funcionou.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.