Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

tablas relacionadas

Estas en el tema de tablas relacionadas en el foro de SQL Server en Foros del Web. tengo dos tablas y entre ellas tego los campos siguientes para no mencionarlos todos Cita: tabla1 id correo tabla2 id correo y supongamos que la ...
  #1 (permalink)  
Antiguo 16/05/2013, 16:38
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
tablas relacionadas

tengo dos tablas y entre ellas tego los campos siguientes
para no mencionarlos todos

Cita:
tabla1
id correo

tabla2
id correo

y supongamos que la inserto informacion y me keda asi
quiero hacer ua consulta y que me muestre el resultado asi
tengo el siguiente query

select E.nombre,
case when C.id is not null then C.nombre
when E.idEmpresa is not null then E.nombre end Nombre from tabla1 as E
left join tabla2 as C on (E.id = C.id);

pero no me arroja todos los datos
quiero mostrar los datos de la uno y de la dos

espero me ayuden gracias :(
__________________
si siempre hay algo nuevo que aprender
  #2 (permalink)  
Antiguo 16/05/2013, 16:46
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: tablas relacionadas

Código SQL:
Ver original
  1. CREATE TABLE #correo
  2. (
  3. id INT,
  4. correo VARCHAR(20)
  5. )
  6.  
  7. CREATE TABLE #correo2
  8. (
  9. id INT,
  10. correo VARCHAR(20)
  11. )
  12.  
  13. INSERT INTO #correo VALUES (1,'[email protected]')
  14. INSERT INTO #correo VALUES (2,'[email protected]')
  15. INSERT INTO #correo2 VALUES (1,'[email protected]')
  16. INSERT INTO #correo2 VALUES (1,'[email protected]')
  17.  
  18.  
  19. SELECT * FROM #correo
  20. UNION ALL
  21. SELECT * FROM #correo2
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 16/05/2013, 16:52
Avatar de Joch_pa  
Fecha de Ingreso: octubre-2009
Ubicación: Pachuca De Soto, Hidalgo, Mexico, Mexico
Mensajes: 122
Antigüedad: 14 años, 6 meses
Puntos: 7
Respuesta: tablas relacionadas

La verdad no entendí a ciencia cierta cual es el resultado que esperas, pero también puedes intentar con una union o left outer join

Espero puedas aclarar un poco el punto al que deseas llegar y asi ayudarte mucho mejor.
  #4 (permalink)  
Antiguo 16/05/2013, 16:53
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: tablas relacionadas

no puedo usar esa consulta Libras por que en una tabla
guardo el nombre de la persona y un correo
y en otra tabla llamada tblCorreos guardo el id de la persona y correos
eso lo hago por si una persona tiene mas de un correo
:(
__________________
si siempre hay algo nuevo que aprender
  #5 (permalink)  
Antiguo 16/05/2013, 17:04
Avatar de Joch_pa  
Fecha de Ingreso: octubre-2009
Ubicación: Pachuca De Soto, Hidalgo, Mexico, Mexico
Mensajes: 122
Antigüedad: 14 años, 6 meses
Puntos: 7
Respuesta: tablas relacionadas

y ya probaste con el left outer join?
  #6 (permalink)  
Antiguo 16/05/2013, 17:09
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: tablas relacionadas

Cita:
declare @tabla1 table (id int, nombre varchar (30), correo varchar (30))
declare @tabla2 table (id int, correo varchar (30))

insert into @tabla1 values (1, 'carlos', '[email protected]')
insert into @tabla1 values (2, 'valentina', '[email protected]')
insert into @tabla2 values (1, '[email protected]')

select u.id, u.nombre,
case when d.correo is not null then d.correo
when u.correo is not null then u.correo else u.correo end correo
from @tabla1 as u left outer join @tabla2 as d on (u.id = d.id)

es algo asi lo que quieor hacer pero no me muestra los datos como los quiero :(
__________________
si siempre hay algo nuevo que aprender
  #7 (permalink)  
Antiguo 16/05/2013, 17:43
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: tablas relacionadas

esto trato de hacer amigos

Cita:
declare @tabla1 table (id int, nombre varchar (30), correo varchar (30))
declare @tabla2 table (id int, correo varchar (30))

insert into @tabla1 values (1, 'carlos', '[email protected]')
insert into @tabla1 values (2, 'valentina', '[email protected]')

insert into @tabla2 values (1, '[email protected])


y me de resultado algo asi

1 carlos - [email protected]
1 carlos - [email protected]
2 valentina - [email protected]
__________________
si siempre hay algo nuevo que aprender
  #8 (permalink)  
Antiguo 20/05/2013, 08:52
Avatar de Joch_pa  
Fecha de Ingreso: octubre-2009
Ubicación: Pachuca De Soto, Hidalgo, Mexico, Mexico
Mensajes: 122
Antigüedad: 14 años, 6 meses
Puntos: 7
Respuesta: tablas relacionadas

mmmm... haber checa la siguiente sentencia:

Código SQL:
Ver original
  1. DECLARE @tabla1 TABLE (id INT, nombre VARCHAR (30), correo VARCHAR (30))
  2. DECLARE @tabla2 TABLE (id INT, correo VARCHAR (30))
  3.  
  4. INSERT INTO @tabla1 VALUES (1, 'carlos', '[email protected]')
  5. INSERT INTO @tabla1 VALUES (2, 'valentina', '[email protected]')
  6.  
  7. INSERT INTO @tabla2 VALUES (1, '[email protected]')
  8.  
  9.  
  10. SELECT *
  11. FROM (
  12.     SELECT Id,nombre,correo
  13.     FROM @tabla1
  14.     UNION ALL
  15.     SELECT B.id,(SELECT top 1 nombre FROM @tabla1 C WHERE C.id=B.id) AS nombre ,correo
  16.     FROM @tabla2 B
  17.  
  18. )A ORDER BY id
  #9 (permalink)  
Antiguo 20/05/2013, 09:17
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: tablas relacionadas

muchas gracias joch_pa
es justo lo que andaba buscando
por lo que veoo si tenia su chistesito la sentenciaa

muchas graciass amigo
__________________
si siempre hay algo nuevo que aprender
  #10 (permalink)  
Antiguo 20/05/2013, 09:18
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: tablas relacionadas

Cita:
Iniciado por elhombredeblanko Ver Mensaje
muchas gracias joch_pa
es justo lo que andaba buscando
por lo que veoo si tenia su chistesito la sentenciaa

muchas graciass amigo
Creo que lo que tenia mas chistecito era la explicacion del problema :S
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: campos, insert, relacionadas, select, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:08.