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

consulta de varias tablas

Estas en el tema de consulta de varias tablas en el foro de SQL Server en Foros del Web. Estimados, quisiera me pudieran ayudar, quizás es muy fácil, pero no he podido encontrar como realizar la consulta a 2 tablas que no tienen una ...
  #1 (permalink)  
Antiguo 23/07/2013, 10:43
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago
Mensajes: 32
Antigüedad: 12 años, 2 meses
Puntos: 0
consulta de varias tablas

Estimados, quisiera me pudieran ayudar, quizás es muy fácil, pero no he podido encontrar como realizar la consulta a 2 tablas que no tienen una llave en común les explico

TABLA1
tipo Cotab Código Descripción
t 1 0 Oficina()
c 1 1 Las condes
c 3 0 Cargo()
t 3 1 Jefe
c 3 2 Superjefe
c 3 3 tecnico
c 4 0 nn1()
c 5 0 nn2()


TABLA2
Nombre cargo
Juanito 3
Pepito 2
pedro 2
jorge 1


Ambas tablas no tienen una llave en comun, pero el cargo es definido en la TABLA1, el problema es que necesito el valor por ejp:1 Jefe, pero si encuentro 1, me puede tomar Las condes, Jefe etc. mi unica referencia es cotab, que en la busqueda solo encuentre en el cotab 3 si quiero cargo en cotab 1 si quiero oficina


Código:
SELECT *
FROM TABLA1
JOIN TABLA2 ON TABLA1.Codigo = TABLA2.CARGO
WHERE Cotab = '3'

mi problema es principalmente realizar lo mismo 2 veces osea en la misma consulta sql, tambien realizar la misma consulta para oficinas pero el problema esta que ya tengo instanciado que solo busque en cotab = 3, y si coloco }

WHERE Cotab = '3' AND Cotab = '1' se me mezclaran los resultados
  #2 (permalink)  
Antiguo 23/07/2013, 10:45
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: consulta de varias tablas

??????????????????? puedes explicarte mejor? o a lo que entiendo quieres sacar los resultados de esta manera no?

Código SQL:
Ver original
  1. SELECT *
  2. FROM TABLA1
  3. JOIN TABLA2 ON TABLA1.Codigo = TABLA2.CARGO
  4. WHERE Cotab = '3'
  5. UNION ALL
  6. SELECT *
  7. FROM TABLA1
  8. JOIN TABLA2 ON TABLA1.Codigo = TABLA2.CARGO
  9. WHERE Cotab = '1'

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 23/07/2013, 12:11
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago
Mensajes: 32
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: consulta de varias tablas

Exacto eso es lo quiero hacer, pero existirá otra forma de realizar sin la necesidad de ocupar UNION ALL?, ademas cuando quiero seleccionar que devuelva solo algunas filas me arroja el siguiente error

"Todas las consultas de una instrucción SQL que contenga un operador UNION deben tener el mismo número de expresiones en sus listas de destino."
  #4 (permalink)  
Antiguo 23/07/2013, 12:43
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: consulta de varias tablas

para hacer un union all deberas de hacerlo de la sig manera:

select campo1,campo2,campo3 from tabla
union all
select campo1,campo2,campo3 from tabla

el error que te marca es que ambas consultas deben de regresar el mismo numero de columnas(y las columnas deben de ser del mismo tipo)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: sql, 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 00:32.