Fórum Como colocar um campo fora da concatenação de um select? #409187
08/11/2011
0
Pessoal, como colocar o campo IDCliente fora desta CONCATENAÇÃO deste select?
Uso o firebird 2.0
Preciso deste IDCliente fora para tentar criar um master/detail.
Obrigado.
Uso o firebird 2.0
SELECT
case
when (HORA/3600) < 10 then
0||(HORA/3600)
else
(HORA/3600)
end ||:||
case
when ((HORA-((HORA)/3600)*3600)/60) < 10 then
0||((HORA-((HORA)/3600)*3600)/60)
else
((HORA-((HORA)/3600)*3600)/60)
end ||:00
FROM
(
SELECT
CAST(SUM(
EXTRACT( HOUR FROM SERV.horatotal ) * 3600 +
EXTRACT( MINUTE FROM SERV.horatotal ) * 60 +
EXTRACT( SECOND FROM SERV.horatotal )
) AS INTEGER)AS HORA,
cli.idclientes,
cli.nomeclie
FROM servicos serv
INNER JOIN ordemserv ord
ON serv.idordem = ord.idordem and
serv.centrocusto = ord.centrocusto
INNER JOIN clientes cli
ON cli.idclientes = ord.idclientes
WHERE ord.nomecondutor IS NOT NULL
AND coalesce(serv.tipo,,NULL) <> CONCLUÍDO
AND coalesce(serv.tipo,,NULL) <> DUPLICATA
AND ord.emissao between :dataini
and :datafin
AND ord.idcondutor between :idcondutorini
and :idcondutorfin
group by 2,3
order by 2
)Preciso deste IDCliente fora para tentar criar um master/detail.
Obrigado.
Adriano Dolce
Curtir tópico
+ 0
Responder
Posts
09/11/2011
Adriano Dolce
Ja resolvi pessoal.
Obrigado.
SELECT
idclientes,
idcondutor,
case
when (HORA/3600) < 10 then
0||(HORA/3600)
else
(HORA/3600)
end ||:||
case
when ((HORA-((HORA)/3600)*3600)/60) < 10 then
0||((HORA-((HORA)/3600)*3600)/60)
else
((HORA-((HORA)/3600)*3600)/60)
end ||:00
FROM
(
SELECT
CAST(SUM(
EXTRACT( HOUR FROM SERV.horatotal ) * 3600 +
EXTRACT( MINUTE FROM SERV.horatotal ) * 60 +
EXTRACT( SECOND FROM SERV.horatotal )
) AS INTEGER)AS HORA,
cli.idclientes,
cli.nomeclie,
ord.idcondutor
FROM servicos serv
INNER JOIN ordemserv ord
ON serv.idordem = ord.idordem and
serv.centrocusto = ord.centrocusto
INNER JOIN clientes cli
ON cli.idclientes = ord.idclientes
WHERE ord.nomecondutor IS NOT NULL
AND coalesce(serv.tipo,,NULL) <> CONCLUÍDO
AND coalesce(serv.tipo,,NULL) <> DUPLICATA
AND ord.emissao between :dataini
and :datafin
AND ord.idcondutor between :idcondutorini
and :idcondutorfin
group by 2,3,4
order by 2
) Obrigado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)