Eu evitaria ao máximo usar nomes de colunas com espaços, então a primeira coisa é, renomeie as colunasm, assim:
'OPERACAO AGRICOLA' para 'OPERACAO_AGRICOLA'
'ORDEM SERVIÇO' para 'ORDEM_SERVICO'
'COD# OPERAÇÃO AGRICOLA' para 'COD_OPERACAO_AGRICOLA'
'ÁREA DO TALHÃO' para ' AREA_DO_TALHAO'
Aí não serão necessários apóstrofes ou crases...
E eu reescrevi a consulta assim:
SELECT
HR.COD_MES,
HR.O#S#,
HR.CC,
PROD.OPERACAO_AGRICOLA
FROM
(SELECT
BD_MOTOMEC$.COD_MES,
BD_MOTOMEC$.MES,
BD_MOTOMEC$.COD_SAP,
BD_MOTOMEC$.CC,
BD_MOTOMEC$.O#S#,
BD_MOTOMEC$.OPERAÇÃO,
SUM(BD_MOTOMEC$.TOTAL) AS 'SOMA DE TOTAL'
FROM
BD_MOTOMEC$ BD_MOTOMEC$
WHERE
(BD_MOTOMEC$.OPERAÇÃO IN (701,704))
GROUP BY
BD_MOTOMEC$.COD_MES,
BD_MOTOMEC$.MES,
BD_MOTOMEC$.COD_SAP,
BD_MOTOMEC$.CC,
BD_MOTOMEC$.O#S#,
BD_MOTOMEC$.OPERAÇÃO) HR,
(SELECT
BD_OS$.CC,
BD_OS$.MES,
BD_OS$.ORDEM_SERVICO,
BD_OS$.COD_OPERACAO_AGRICOLA,
BD_OS$.OPERACAO_AGRICOLA,
SUM(BD_OS$.AREA_DO_TALHAO) AS 'SOMA DE ÁREA DO TALHÃO'
FROM
BD_OS$ BD_OS$
WHERE
(BD_OS$.COD_OPERACAO_AGRICOLA IN (701,704))
GROUP BY
BD_OS$.CC,
BD_OS$.MES,
BD_OS$.ORDEM_SERVICO,
BD_OS$.COD_OPERACAO_AGRICOLA,
BD_OS$.OPERACAO_AGRICOLA) PROD
WHERE
HR.O#S# = PROD.ORDEM_SERVICO
ORDER BY
HR.COD_MES
Em tempo, sugiro que você aprenda a usar o INNER JOIN..
Ah, se vc não quiser, ou não puder, trocar o nome das colunas, eu entendo, blz, mas neste caso use os apóstrofos somente nas colunas cujo nome tem espaços... *(é péssima prática de de programação e gerenciamento de dados...)
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 30/05/2017 8:38 am