Problema com minha query

ai pessoal tenho o seguinte SQL a principio era pra estar tudo funcionando mas ele da um erro… fala q falta um alias no meu from…

alguem pode me da uma ajuda ai pq ja tentei de tudo.

SELECT DISTINCT tipo, nm_tipo, entregaVeiculo, redespacho, fantasia, motorista,
periodo_entregas, periodo_coletas, SUM(peso_entregas),
SUM(quant_coletas)
FROM

(

SELECT

‘1’ AS tipo,
‘romaneio’ AS nm_tipo,
romaneios_entregas_redespacho.oid_veiculo AS entregaVeiculo,
romaneios_entregas_redespacho.oid_unidade AS redespacho,
pu.nm_fantasia AS fantasia,
pessoas.nm_razao_social AS motorista,
romaneios_entregas_redespacho.dt_romaneio AS periodo_entregas,
null as periodo_coletas,

SUM(conhecimentos.nr_peso) AS peso_entregas,
‘0’ AS peso_coletas,

COUNT(*) AS quant_entregas,
‘0’ AS quant_coletas

FROM romaneios_entregas_redespacho

INNER JOIN romaneios_conhecimentos ON (romaneios_entregas_redespacho.oid_romaneio = romaneios_conhecimentos.oid_romaneio)
INNER JOIN conhecimentos ON (romaneios_conhecimentos.oid_conhecimento = conhecimentos.oid_conhecimento)
INNER JOIN veiculos ON (veiculos.oid_veiculo = romaneios_entregas_redespacho.oid_veiculo)
INNER JOIN pessoas ON (pessoas.oid_pessoa = veiculos.oid_pessoa)
INNER JOIN unidades ON (unidades.oid_unidade = romaneios_entregas_redespacho.oid_unidade )
INNER JOIN pessoas pu ON (pu.oid_pessoa = unidades.oid_pessoa)

WHERE
romaneios_entregas_redespacho.dt_romaneio BETWEEN ‘01/10/2008’ AND ‘05/10/2008’
GROUP BY
romaneios_entregas_redespacho.oid_veiculo,
romaneios_entregas_redespacho.oid_unidade,
pu.nm_fantasia,
pessoas.nm_razao_social,
periodo_entregas

UNION

SELECT
‘2’ AS tipo,
’ coleta ’ AS nm_tipo,
ordens_coletas.oid_veiculo AS entregaVeiculo,
ordens_coletas.oid_unidade AS redespacho ,
pu.nm_fantasia AS fantasia ,
pessoas.nm_razao_social AS motorista,
null as periodo_entregas,
solicitacoes_coletas.dt_coleta as periodo_coletas,
‘0’ AS peso_entregas,

SUM(notas_fiscais.nr_peso) AS peso_coletas,
‘0’ AS quant_entregas,

COUNT(*) AS quant_coletas

FROM ordens_coletas

INNER JOIN solicitacoes_coletas ON (ordens_coletas.oid_solicitacao_coleta = solicitacoes_coletas.oid_solicitacao_coleta)
INNER JOIN notas_fiscais_ordens_coletas ON (ordens_coletas.oid_ordem_coleta = notas_fiscais_ordens_coletas.oid_ordem_coleta)
inner join notas_fiscais ON (notas_fiscais_ordens_coletas.oid_nota_fiscal = notas_fiscais.oid_nota_fiscal)
INNER JOIN veiculos ON (veiculos.oid_veiculo = ordens_coletas.oid_veiculo)
INNER JOIN pessoas ON (pessoas.oid_pessoa = veiculos.oid_pessoa)
INNER JOIN unidades on (unidades.oid_unidade = ordens_coletas.oid_unidade)
INNER JOIN pessoas pu on (pu.oid_pessoa = unidades.oid_pessoa)
WHERE solicitacoes_coletas.dt_coleta BETWEEN ‘01/10/2008’ AND ‘05/10/2008’
GROUP BY
ordens_coletas.oid_veiculo,
ordens_coletas.oid_unidade,
pu.nm_fantasia,
pessoas.nm_razao_social,
periodo_coletas

ORDER BY entregaVeiculo,tipo

) GROUP BY tipo, nm_tipo, entregaVeiculo, redespacho, fantasia, motorista, periodo_entregas, periodo_coletas

ponha o codigo entre as tags de code por favor:

SELECT DISTINCT tipo, nm_tipo, entregaVeiculo, redespacho, fantasia, motorista, 
periodo_entregas, periodo_coletas, SUM(peso_entregas), 
SUM(quant_coletas) 
FROM 

( 

SELECT 

'1' AS tipo, 
'romaneio' AS nm_tipo, 
romaneios_entregas_redespacho.oid_veiculo AS entregaVeiculo, 
romaneios_entregas_redespacho.oid_unidade AS redespacho, 
pu.nm_fantasia AS fantasia, 
pessoas.nm_razao_social AS motorista, 
romaneios_entregas_redespacho.dt_romaneio AS periodo_entregas, 
null as periodo_coletas, 

SUM(conhecimentos.nr_peso) AS peso_entregas, 
'0' AS peso_coletas, 

COUNT(*) AS quant_entregas, 
'0' AS quant_coletas 

FROM romaneios_entregas_redespacho 

INNER JOIN romaneios_conhecimentos ON (romaneios_entregas_redespacho.oid_romaneio = romaneios_conhecimentos.oid_romaneio) 
INNER JOIN conhecimentos ON (romaneios_conhecimentos.oid_conhecimento = conhecimentos.oid_conhecimento) 
INNER JOIN veiculos ON (veiculos.oid_veiculo = romaneios_entregas_redespacho.oid_veiculo) 
INNER JOIN pessoas ON (pessoas.oid_pessoa = veiculos.oid_pessoa) 
INNER JOIN unidades ON (unidades.oid_unidade = romaneios_entregas_redespacho.oid_unidade ) 
INNER JOIN pessoas pu ON (pu.oid_pessoa = unidades.oid_pessoa) 

WHERE 
romaneios_entregas_redespacho.dt_romaneio BETWEEN '01/10/2008' AND '05/10/2008' 
GROUP BY 
romaneios_entregas_redespacho.oid_veiculo, 
romaneios_entregas_redespacho.oid_unidade, 
pu.nm_fantasia, 
pessoas.nm_razao_social, 
periodo_entregas 

UNION 

SELECT 
'2' AS tipo, 
' coleta ' AS nm_tipo, 
ordens_coletas.oid_veiculo AS entregaVeiculo, 
ordens_coletas.oid_unidade AS redespacho , 
pu.nm_fantasia AS fantasia , 
pessoas.nm_razao_social AS motorista, 
null as periodo_entregas, 
solicitacoes_coletas.dt_coleta as periodo_coletas, 
'0' AS peso_entregas, 

SUM(notas_fiscais.nr_peso) AS peso_coletas, 
'0' AS quant_entregas, 

COUNT(*) AS quant_coletas 

FROM ordens_coletas 

INNER JOIN solicitacoes_coletas ON (ordens_coletas.oid_solicitacao_coleta = solicitacoes_coletas.oid_solicitacao_coleta) 
INNER JOIN notas_fiscais_ordens_coletas ON (ordens_coletas.oid_ordem_coleta = notas_fiscais_ordens_coletas.oid_ordem_coleta) 
inner join notas_fiscais ON (notas_fiscais_ordens_coletas.oid_nota_fiscal = notas_fiscais.oid_nota_fiscal) 
INNER JOIN veiculos ON (veiculos.oid_veiculo = ordens_coletas.oid_veiculo) 
INNER JOIN pessoas ON (pessoas.oid_pessoa = veiculos.oid_pessoa) 
INNER JOIN unidades on (unidades.oid_unidade = ordens_coletas.oid_unidade) 
INNER JOIN pessoas pu on (pu.oid_pessoa = unidades.oid_pessoa) 
WHERE solicitacoes_coletas.dt_coleta BETWEEN '01/10/2008' AND '05/10/2008' 
GROUP BY 
ordens_coletas.oid_veiculo, 
ordens_coletas.oid_unidade, 
pu.nm_fantasia, 
pessoas.nm_razao_social, 
periodo_coletas 

ORDER BY entregaVeiculo,tipo 

) GROUP BY tipo, nm_tipo, entregaVeiculo, redespacho, fantasia, motorista, periodo_entregas, periodo_coletas 

bah disculpa por minha ignorância foi mal

sem problemas
=D

dica já tentou divisão e conquista?

executa um de cada vez depois bota o UNION

sim sim ja tentei e na consultas idependentes ele funciona perfeitamente…

retira os alias

no where não poderia ser romaneios_entregas_redespacho.dt_romaneio ao invés de periodo_entregas
e no outro o solicitacoes_coletas.dt_coleta tbm ?