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.
betpas,betpas mobil,betpas,kacak bahis,betpas,poker sitesi,spor bahisleri,canlı bahis,canlı bahis siteleri,canlı bahis oyna,sanal bahis,kaçak bahis,casino kayit,casino siteleri,casino oyna,
hacklink panel wordpress tema meme büyültme operasyonu hacklink satışı elektronik sigara hacklink
TAGS