ventinho Posted May 20, 2013 at 10:45 PM Report #508155 Posted May 20, 2013 at 10:45 PM Boas Pessoal! Estou aqui há seculos e nao consigo resolver esta questao... entao é o seguinte: Tenho 2 tabelas uma de mensagens outra de noticias e queria selecionar todos os campos das duas tabelas mas ordenando pela data de inserçao dos registos... Ex: Noticias1 postada em 15/05/2013 Mensagem1 postada em 06/05/2013 Mensagem2 postada em 07/05/2013 Noticia2 postada em 20/05/2013 O resultado pretendido seria: Mensagem1 postada em 06/05/2013 Mensagem2 postada em 07/05/2013 Noticias1 postada em 15/05/2013 Noticia2 postada em 20/05/2013 como fazer isto com o mysql?? Obrigado
Rechousa Posted May 21, 2013 at 12:25 AM Report #508161 Posted May 21, 2013 at 12:25 AM (edited) Olá, Não sou especialista em MySql, mas acho que conseguirás resolver da seguinte forma (não testei): a) Fazendo um UNION (ou UNION ALL no caso de queres manter registos com dados repetidos) das tabelas Noticias com a tabela Mensagens; b) Ordenar o resultado Escreveste que querias selecionar todos os campos. Para usares o UNION, as tabelas têm de ter a mesma estrutura, caso contrário não funciona. Embora não tendo a mesma estrutura, podes resolver facilmente colocando um valor por omissão ou NULL. Como não disseste que campos é que tens, estou a assumir as seguintes estruturas: Noticias (idNoticia INT, Titulo VARCHAR(200), Data DateTime) Mensagens (idMensagem INT, Titulo VARCHAR(200), Data DateTime) SELECT * FROM ( SELECT idNoticia, NULL as idMensagem, Titulo, Data FROM Noticias UNION NULL as idNoticia, idMensagem, Titulo, Data FROM Mensagens ) Temp ORDER BY Data ASC, Titulo ASC Espero ter ajudado, Edited May 21, 2013 at 12:26 AM by Rechousa Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa
brunoais Posted May 21, 2013 at 08:15 AM Report #508170 Posted May 21, 2013 at 08:15 AM Uma alternativa é fazer basicamente como o Rechsousa fez, mas faz-se INNER JOIN das duas tabelas sem condições de JOIN em vez de UNION. "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
ventinho Posted May 21, 2013 at 11:04 AM Author Report #508187 Posted May 21, 2013 at 11:04 AM Boas pessoal! Ja consegui... Vi as vossas resposta e fui pesquisar um pouco sobre UNION e JOIN e encontrei a soluçao... Obrigado aos 2...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now