Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo 3R

SQL - Unir dois resultados num mesmo result.

Recommended Posts

Boa tarde, estou com o seguinte problema, tenho dois selects e preciso transformar em um só, ou uma maneira que me retorne o resultado da melhor forma, este primeiro eu pego apenas os dados que foram criados nas tabelas e me retorna os dados certos:

 

SELECT c.id, c.titulo, c.conteudo, c.dt_Criacao, 'conteudo'
						FROM conteudo c WHERE c.tipo <> 'Restrito'

						UNION ALL

						SELECT p.id, p.titulo, p.descricao, p.dt_Criacao, 'projetos'
						FROM projetos p

						UNION ALL

						SELECT e.id, e.nome, e.descricao, e.dt_Criacao, 'equipamentos'
						FROM equipamentos e

						ORDER BY 4 DESC
						LIMIT 5;

 

este outro é onde pego só os dados que foram atualizados no sistema :

SELECT 
                               equipamentos.id,equipamentos.descricao, equipamentos.dt_criacao,null,
                               log_alteracao_equipamento.equipamentos_id,log_alteracao_equipamento.dt_alteracao, null, null
                           FROM 
                               equipamentos, log_alteracao_equipamento
                           where 
                               equipamentos.id = log_alteracao_equipamento.equipamentos_id

                           UNION

                           SELECT 
                               projetos.id, projetos.descricao, projetos.dt_criacao,null,
                               log_alteracao_projeto.projetos_id, log_alteracao_projeto.dt_alteracao, null, null
                           FROM 
                               projetos, log_alteracao_projeto
                           where 
                               projetos.id = log_alteracao_projeto.projetos_id

                           UNION

                           SELECT 
                               conteudo.id, conteudo.titulo, conteudo.dt_criacao,null,
                               log_alteracao_conteudo.conteudo_id, log_alteracao_conteudo.dt_alteracao, null, null
                           FROM 
                               conteudo, 
                               log_alteracao_conteudo
                           where 
                               conteudo.id = log_alteracao_conteudo.conteudo_id

                           ORDER BY dt_alteracao DESC
                           LIMIT 0,5

 

Ambos me resultam o esperado, porém com o php e como estou mostrando preciso que venha em um só sql, e mostrar os 5 primeiros resultados, seja atualizado ou novo resultado destes dois sqls.

 

 

desde ja agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, se você tivesse postado no PHP seria mais fácil de obter ajuda.

Mas creio que você terá que dar um foreach no primeiro result e dentro deste realizar a segunda consulta e realizar um foreach no result obtido, setando em uma variavel[] = $sValue - value do foreach/result.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.