Consulta SQL de dos tablas sin relación ordenadas por un campo

Ni si quiera sé si se puede hacer. El caso es que para un sistema tengo dos tablas parecidas pero que no tienen relación.

En este caso, tengo noticias y artículos, son parecidos pero cada uno está en una tabla distinta. Lo que quiero hacer es una consulta SQL donde me devuelva las filas de ambas tablas ordenadas por fecha, campo que en ambas tablas se llama igual.

Supongo que de poder hacerse, sería con algún tipo de join y quedaría así:

[articulos.nombre][articulos.fecha][articulos.id][noticias.titulo][noticias.texto][noticias.fecha][noticias.id]
NULL...................NULL................NULL..........Hola..............Texto Guay.....20-01-2012......1
Articulo 1............21-01-2012.......1................NULL.............NULL..............NULL...............NULL

Y ya, a partir de ahí, ir mirando cuales están a null y cuales no.

Pero como ya os digo, no sé ni si quiera se puede hacer.
select * from articulos, noticias order by articulos.fecha, noticias.fecha

No sé si es exactamente lo que buscas, dale un tiento a ver si te sirve y si no lo vamos refinando,
no tengo un DBMS instalado ahora mismo y mi sql está bastante oxidado.
demnim escribió:select * from articulos, noticias order by articulos.fecha, noticias.fecha


Eso fue lo primero que lo probé, y solo me "multiplica" una tabla por otra. Es decir, si tengo 50 filas en una y 25 en otra, consigo
50 * 25 = 1250 filas. La primera de artículos con la primera de noticias, la primera de artículos con la segunda noticias... y así...
con

select articulos.nombre,articulos.fecha,articulos.id,noticias.titulo,noticias.texto,noticias.fecha,noticias.id

te hace lo mismo?
vale, tienes razon, era el producto cartesiano,

mira con algo como esto:

select id as pid, desc, '' as cid, '' as name from parts
union
select '' as pid, '' as desc, id as cid, name from custs;


http://stackoverflow.com/questions/1198 ... mon-fields
demnim escribió:vale, tienes razon, era el producto cartesiano,

mira con algo como esto:

select id as pid, desc, '' as cid, '' as name from parts
union
select '' as pid, '' as desc, id as cid, name from custs;


http://stackoverflow.com/questions/1198 ... mon-fields


Esto sí! :D

La consulta es un poco peñazo porque tengo que hacer cosas como null as texto en los artículos y demás, pues las dos consultas deben tener los mismos campos, pero bueno.

Chachi genial, gracias ;)
Me alegro de que sirviese!! así repaso un poquito que mi SQL está muy oxidado jajaj
prueba con un join en vez de con un union. asi no necesitarás tener en ambas los mismos campos.
8 respuestas