Soluções em Software



Desenvolvimento de Software
Sistemas WEB
Aplicativos Mobile
(app celulares e tablets)

Portais Blogs e Soluções WEB 2.0

Serviços de chat - Webnews Webconteúdo - Quiz - FAQ
Marketing Digital
Mídias sociais
Gestão de conteúdo
Portais de Comercio Eletrônicos
Lojas Virtuais

Gestão Eletrônica de Documentos



Digitalização de Documentos
Grandes Formatos
Guarda Documental
Workflows

Projetos On-Demand



Um projeto com a SUA cara.

O software se adapta as necessidades da sua empresa e não o contrário.



Soluções Tecnológicas
A CACTUS Tecnologia da Informação acredita na liberdade, em qualquer lugar e a qualquer momento, por isso fornece soluções inovadoras que realmente geram resultados nas corporações e na vida das pessoas.
Instagram
Facebook
Contato
BLOG

JUNTANDO VARIAS CONSULTAS EM UMA UNICA QUERY

17/03/2015 por Renato Dantas

o sistema da femurn utiliza 2 tabelas separadas, das publicacoes novas (cactus) e as antigas (vox). porem precisava fazer uma consulta
juntando as duas tabelas como se fossem 1.
a solucao foi usar o UNION do mysql e se mostrou muito eficiente.

Exemplo:

select * from (select values1 from table1 order by orderby1) as a
union all
select * from (select values2 from table2 order by orderby2) as b


Solucao Aplicada:

(
SELECT edic_tx_data,publ_tx_codigo,publ_tx_nome,enti_tx_nome,orga_tx_nome,publ_tx_data,publ_nb_id
FROM publicacao,orgao,entidade,edicao
WHERE publ_nb_orgao=orga_nb_id AND publ_nb_entidade=enti_nb_id AND publ_nb_edicao=edic_nb_id
$extra $extra1 ORDER BY edic_tx_data DESC
)
UNION ALL

(
SELECT edic_tx_data,publ_tx_codigo,publ_tx_nome,enti_tx_nome,publ_tx_orgao,publ_tx_data,publ_nb_id
FROM publicacaovox,entidade,edicao
WHERE publ_nb_entidade=enti_nb_id AND publ_nb_edicao=edic_nb_id
$extra $extra2 ORDER BY edic_tx_data DESC
)

Com isso funcionou normalmente. porem me deparei com um problema de ordenacao, porque ele considerava 2 consultas separadas e nao
ordenava corretamente. Para resolver foi preciso usar outro artificio:

Solução final:

select * from
(
SELECT edic_tx_data,publ_tx_codigo,publ_tx_nome,enti_tx_nome,orga_tx_nome,publ_tx_data,publ_nb_id
FROM publicacao,orgao,entidade,edicao
WHERE publ_nb_orgao=orga_nb_id AND publ_nb_entidade=enti_nb_id AND publ_nb_edicao=edic_nb_id
$extra $extra1 ORDER BY edic_tx_data DESC
) as A
UNION ALL
select * from
(
SELECT edic_tx_data,publ_tx_codigo,publ_tx_nome,enti_tx_nome,publ_tx_orgao,publ_tx_data,publ_nb_id
FROM publicacaovox,entidade,edicao
WHERE publ_nb_entidade=enti_nb_id AND publ_nb_edicao=edic_nb_id
$extra $extra2 ORDER BY edic_tx_data DESC
) as B


Com isso ele funcionou perfeitamente.
esenyurt escort avcılar escort sisli escort kayasehir escort kurtkoy escort kartal escort pendik escort kurtkoy escort kartal escort izmit escort maltepe escort kadikoy escort pendik escort Böcek İlaçlama
hacklink panel wordpress tema meme büyültme operasyonu hacklink satışı elektronik sigara hacklink
TAGS