Comunidad de diseño web y desarrollo en internet online

SQL y datos de varias tablas segun dias

Citar            
MensajeEscrito el 02 Feb 2012 07:48 pm
Muy buenas, tengo una duda sobre algo que no se muy bien como se puede hacer en sql y me gustaria me pudieran guiar en la solucion... les explico el problema:

Tengo 3 tablas, en las que almaceno informacion de diferentes datos, pero estas tres tablas tienen en comun el campo dia, el problema viene en que no en todas las tablas aparecen siempre los mismos dias y yo quiero obtener la combinacion de ambas con todos los dias y el dia que no este en alguna tabla que el resto de datos me salgan como 0. Os pongo un ejemplo:

Tabla 1:
dia | Visitas
1 | 10
2 | 15
3 | 25
4 | 17

Tabla 2:
dia | Registros
1 | 3
3 | 2

Tabla 3:
dia | Publicaciones
1 | 2
2 | 7
4 | 3
6 | 1

El resultado que busco es:
Tabla final:
dia | Visitas | Registros | Publicaciones
1 | 10 | 3 | 2
2 | 15 | - | 7
3 | 25 | 2 | -
4 | 17 | - | 3
6 | - | - | 1

Yo hasta ahora hacia

Código MySQL :

select tabla1.dia, visitas, registros, publicaciones
from tabla1, tabla2, tabla3
where tabla1.dia = tabla2.dia and tabla2.dia = tabla3.dia

Pero logicamente con esa consulta no me funcionaba, ya que en el ejemplo que he puesto solo me mostraria lo del dia 1. Alguna idea de como solucionarlo??

Por JotaeRe

96 de clabLevel



 

chrome
Citar            
MensajeEscrito el 08 Feb 2012 07:12 pm
Hola, primero tendrías que definir bien la relación que tienes entre tus tablas, segundo suponiendo que tienes tres tablas:

- Visitas
- Registros
- Publicaciones

Podrias utilizar una sentencia como esta:

Código MySQL :

select a.dia, a.visitas, b.registros, c.publicaciones
from dbo.Visitas a
left join dbo.Registros b on a.dia = b.dia
left join dbo.Publicaciones c on a.dia = c.dia


Y para que lo entiendas mejor puedes estudiar la sentencia JOIN de SQL.

Ojala y funcione, o por lo menos te de las bases para hacerlo funcionar. :D

Por Flashacker

Claber

214 de clabLevel



Genero:Masculino  

Manila

chrome

   Página 1 de 1

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.