Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 509207
            [titulo] => Retornar valor máximo de uma coluna.
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-02-02 12:18:37
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 348325
            [status] => A
            [isExample] => 
            [NomeUsuario] => Isaac Jose
            [Apelido] => 
            [Foto] => 
            [Conteudo] => Select OOP.EmpCod, max(OPf.OperOrdProducSeq)OperOrdProducSeq, FuncNome,
OOP.ProdOperSeq, OperOrdProducStat, OOP.OrdProducNum,
OperOrdProducDataHorainic, OperOrdProducDataHoraFim,
P.ProdNome, OOP.OperOrdProducQtdBoa, p.ProdCodAlt, OOP.OperOrdProducQtdCalc

From

FUNCIONARIO F With(Nolock)
Left OUTER JOIN OPER_ORD_PRODUC_FUNC OPF With(NoLock) ON F.FuncCod = OPF.FuncCod
Left OUTER JOIN OPER_ORD_PRODUC OOP With(NoLock) ON OOP.OrdProducNum = OPF.OrdProducNum
LEFT OUTER JOIN PRODUTO p WITH(NOLOCK) ON OOP.ProdCodEstr = p.ProdCodEstr

WHERE

CONVERT(DATETIME, CONVERT(VARCHAR(10), OperOrdProducDataHorainic, 120)) >= :dDataI
AND CONVERT(DATETIME, CONVERT(VARCHAR(10), OperOrdProducDataHoraFim, 120)) <= :dDataF
AND OOP.ProdCodEstr = P.ProdCodEstr
AND (OOP.EmpCod = :EMPRESA OR :EMPRESA = '')
AND (OOP.ProdOperSeq = :OPERACAO OR :OPERACAO = '')
AND (F.FuncCod = :FUNCIONARIO OR :FUNCIONARIO = '')
AND OOP.OperOrdProducStat = 'Finalizada Total'
AND OOP.OperOrdProducQtdBoa IS NOT NULL
group by
OOP.EmpCod, FuncNome,
OOP.ProdOperSeq, OperOrdProducStat, OOP.OrdProducNum,
OperOrdProducDataHorainic, OperOrdProducDataHoraFim,
P.ProdNome, OOP.OperOrdProducQtdBoa, p.ProdCodAlt, OOP.OperOrdProducQtdCalc
Order by OperOrdProducDataHoraInic ) )

Retornar valor máximo de uma coluna.

Juliano Borges
   - 02 fev 2015

Bom dia
POR FAVOR

Segue o codigo e a tabela. O caso é o seguinte, preciso juntar 3 tabelas, a de produtos (uma quarta) nao precisa porem ela retorna apenas o código estruturado que é irrelevante.
O problemas esta na ordem de produção que sai com linha duplicada, dentro da tabela do select abaixo

SELECT * FROM OPER_ORD_PRODUC_FUNC WHERE OrdProducNum = '0000000242'
EmpCod OrdProducNum ProdCodEstr ProdOperSeq OperOrdProducSeq FuncCod OperOrdProducFuncApont
1.04 0000000242 0001.0001.0001.0012.0003 10 801 0000055 Sim
1.04 0000000242 0001.0001.0001.0012.0003 10 802 0000055 Sim

Eu sei o que eu preciso, porem nao sei como faço. A idéia é que ele me retorne apenas o numero MAX ou MIN da coluna OperOrdProducSeq pertencente a tabela OPER_ORD_PRODUC. (OOP).
Eu reduzi o código para ficar visível o problema

Select OOP.EmpCod, OPF.OperOrdProducSeq, FuncNome, OOP.ProdOperSeq, OperOrdProducStat, OOP.OrdProducNum, OperOrdProducDataHorainic,
OperOrdProducDataHoraFim, P.ProdNome, OOP.OperOrdProducQtdBoa, p.ProdCodAlt, OOP.OperOrdProducQtdCalc
From
FUNCIONARIO F With(Nolock)
Left OUTER JOIN OPER_ORD_PRODUC_FUNC OPF With(NoLock) ON F.FuncCod = OPF.FuncCod
Left OUTER JOIN OPER_ORD_PRODUC OOP With(NoLock) ON OOP.OrdProducNum = OPF.OrdProducNum
LEFT OUTER JOIN PRODUTO p WITH(NOLOCK) ON OOP.ProdCodEstr = p.ProdCodEstr
WHERE OOP.OrdProducNum = '0000000242' AND oop.EmpCod = '1.04'
AND OOP.OperOrdProducQtdBoa !='0.000000000'
Retorna Resultado:
EmpCod OperOrdProducSeq FuncNome ProdOperSeq OperOrdProducStat OrdProducNum OperOrdProducDataHorainic OperOrdProducDataHoraFim ProdNome OperOrdProducQtdBoa ProdCodAlt OperOrdProducQtdCalc
1.04 801 SERGIO N DO NASCIMENTO JUNIOR 10 Finalizada Total 0000000242 2015-01-14 08:20:00.000 2015-01-16 08:20:00.000 INCUBADORA BOD COM FOTOPERIODO E ALTERNANCIA DE TEMPERATURA 2.000000000 LUCA-161/03 2.000000000
1.04 802 SERGIO N DO NASCIMENTO JUNIOR 10 Finalizada Total 0000000242 2015-01-14 08:20:00.000 2015-01-16 08:20:00.000 INCUBADORA BOD COM FOTOPERIODO E ALTERNANCIA DE TEMPERATURA 2.000000000 LUCA-161/03 2.000000000

PRECISO TIRAR A MAX OU A MINIMA DA SEGUNDA COLUNA (OPF.OperOrdProducSeq) , TANTO FAZ se maximo ou minimo, preciso que apenas 1 campo seja mostrado, e com max e min eu tenho certeza que se tiver 10, vai aparecer 1 só, uma vez que OPERORDPRODUCSEQ é tipo uma PKey.
1.04 801 SERGIO N DO NASCIMENTO JUNIOR
1.04 802 SERGIO N DO NASCIMENTO JUNIOR

O código todo é esse:
Select OOP.EmpCod, OPf.OperOrdProducSeq, FuncNome, OOP.ProdOperSeq, OperOrdProducStat, OOP.OrdProducNum, OperOrdProducDataHorainic, OperOrdProducDataHoraFim, P.ProdNome, OOP.OperOrdProducQtdBoa, p.ProdCodAlt, OOP.OperOrdProducQtdCalc
From
FUNCIONARIO F With(Nolock)
Left OUTER JOIN OPER_ORD_PRODUC_FUNC OPF With(NoLock) ON F.FuncCod = OPF.FuncCod
Left OUTER JOIN OPER_ORD_PRODUC OOP With(NoLock) ON OOP.OrdProducNum = OPF.OrdProducNum
LEFT OUTER JOIN PRODUTO p WITH(NOLOCK) ON OOP.ProdCodEstr = p.ProdCodEstr
WHERE
CONVERT(DATETIME, CONVERT(VARCHAR(10), OperOrdProducDataHorainic, 120)) >= :dDataI
AND CONVERT(DATETIME, CONVERT(VARCHAR(10), OperOrdProducDataHoraFim, 120)) <= :dDataF
AND OOP.ProdCodEstr = P.ProdCodEstr
AND (OOP.EmpCod = :EMPRESA OR :EMPRESA = '')
AND (OOP.ProdOperSeq = :OPERACAO OR :OPERACAO = '')
AND (F.FuncCod = :FUNCIONARIO OR :FUNCIONARIO = '')
AND OOP.OperOrdProducStat = 'Finalizada Total'
AND OOP.OperOrdProducQtdBoa IS NOT NULL
Order by OperOrdProducDataHoraInic

onde tem :NOME são filtros retirados de um XML
RETORNO
EmpCod OPf.OperOrdProducSeq FuncNome ProdOperSeq OperOrdProducStat OrdProducNum OperOrdProducDataHorainic OperOrdProducDataHoraFim ProdNome OperOrdProducQtdBoa ProdCodAlt OperOrdProducQtdCalc
1.01 108 TASSO ANDRE CORADI 10 Manual 0000000005 2013-06-18 17:12:00.000 2013-06-18 17:12:00.000 CAPELA DE EXAUSTAO DE GASES 1.000000000 LUCA-15 1.000000000
1.01 201 TASSO ANDRE CORADI 10 Manual 0000000007 2013-07-02 07:50:00.000 2013-07-02 07:50:00.000 CAPELA DE EXAUSTAO DE GASES 1.000000000 LUCA-10 1.000000000

Post mais votado

Isaac Jose
   - 02 fev 2015

Select OOP.EmpCod, max(OPf.OperOrdProducSeq)OperOrdProducSeq, FuncNome,
OOP.ProdOperSeq, OperOrdProducStat, OOP.OrdProducNum,
OperOrdProducDataHorainic, OperOrdProducDataHoraFim,
P.ProdNome, OOP.OperOrdProducQtdBoa, p.ProdCodAlt, OOP.OperOrdProducQtdCalc

From

FUNCIONARIO F With(Nolock)
Left OUTER JOIN OPER_ORD_PRODUC_FUNC OPF With(NoLock) ON F.FuncCod = OPF.FuncCod
Left OUTER JOIN OPER_ORD_PRODUC OOP With(NoLock) ON OOP.OrdProducNum = OPF.OrdProducNum
LEFT OUTER JOIN PRODUTO p WITH(NOLOCK) ON OOP.ProdCodEstr = p.ProdCodEstr

WHERE

CONVERT(DATETIME, CONVERT(VARCHAR(10), OperOrdProducDataHorainic, 120)) >= :dDataI
AND CONVERT(DATETIME, CONVERT(VARCHAR(10), OperOrdProducDataHoraFim, 120)) <= :dDataF
AND OOP.ProdCodEstr = P.ProdCodEstr
AND (OOP.EmpCod = :EMPRESA OR :EMPRESA = '')
AND (OOP.ProdOperSeq = :OPERACAO OR :OPERACAO = '')
AND (F.FuncCod = :FUNCIONARIO OR :FUNCIONARIO = '')
AND OOP.OperOrdProducStat = 'Finalizada Total'
AND OOP.OperOrdProducQtdBoa IS NOT NULL
group by
OOP.EmpCod, FuncNome,
OOP.ProdOperSeq, OperOrdProducStat, OOP.OrdProducNum,
OperOrdProducDataHorainic, OperOrdProducDataHoraFim,
P.ProdNome, OOP.OperOrdProducQtdBoa, p.ProdCodAlt, OOP.OperOrdProducQtdCalc
Order by OperOrdProducDataHoraInic

Juliano Borges
   - 02 fev 2015

Amigão, você vai pro céu!

MUITO MUITO AGRADECIDO!

Isaac Jose
   - 02 fev 2015

por nada precisando é so dar um grito que alguem por aqui ajuda..

abs....

Isaac Jose
   - 02 fev 2015

por nada precisando é so dar um grito que alguem por aqui ajuda..

abs....