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

Seleccionar registro where...

Estas en el tema de Seleccionar registro where... en el foro de SQL Server en Foros del Web. Saludos... pues soy principiante en SQL y SQLServer, y en la universidad me han expuesto este select: Nombre de los trabajadores asignados a oficinas. ... ...
  #1 (permalink)  
Antiguo 13/11/2009, 10:18
Avatar de Ludwingg  
Fecha de Ingreso: diciembre-2002
Ubicación: San Salvador
Mensajes: 951
Antigüedad: 21 años, 4 meses
Puntos: 5
Seleccionar registro where...

Saludos... pues soy principiante en SQL y SQLServer, y en la universidad me han expuesto este select:

Nombre de los trabajadores asignados a oficinas.... y he hecho yo mismo este select (que no funciona):
Código:
Select nombre from trabajador, edificio, asignacion 
Where asignacion.id_t=trabajador.id_t and asignacion.id_e=edificio.id_e and tipo='oficina'
go
Ya que tendria que devolverme solamente estos datos:
- C. NEMO
- H. RICKOVER
- J. BARRISTER
- M. FARADAY
- P. MASON
- R. GARRET

Pero lo que obtengo son muchos datos y nombres duplicados de los trabajadores que no son de oficinas sino de otros tipos...

La base de datos es esta:


Gracias
  #2 (permalink)  
Antiguo 13/11/2009, 10:24
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Respuesta: Seleccionar registro where...

Esto lo puedes sacar rapidisimo con una vista ya que te ayuda a crear el codigo, y para anidar las tablas usa inner join y al final te falta la clausula Where tipo = 'oficina', para uqe solo te de ese rango ok.


saludos.
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #3 (permalink)  
Antiguo 13/11/2009, 10:35
Avatar de Ludwingg  
Fecha de Ingreso: diciembre-2002
Ubicación: San Salvador
Mensajes: 951
Antigüedad: 21 años, 4 meses
Puntos: 5
Respuesta: Seleccionar registro where...

Creo que no te entendí.... si he puesto la clausula tipo = 'oficina'... esta al final de la clausula...

Como lo dije anteriormente, soy principiante en esto.

postdata: Estoy usando SQL Server Management Express.

Última edición por Ludwingg; 13/11/2009 a las 10:43
  #4 (permalink)  
Antiguo 13/11/2009, 11:45
 
Fecha de Ingreso: octubre-2006
Mensajes: 88
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Seleccionar registro where...

SELECT t.nombre
FROM trabajador t, edificio e, asignacion a
WHERE t.id_t=a.id_t and a.id_e=e.id_e and e.tipo='OFICINA'
GROUP BY t.nombre


prueba de esta forma
  #5 (permalink)  
Antiguo 13/11/2009, 11:48
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Seleccionar registro where...

La "Liga" entre las tablas, realizalas con INNER JOIN

Select trabajador.nombre
from trabajador
inner join asignacion ON asignacion.ID_T = trabajador.ID_T
inner join edificio on asignacion.ID_E = edificio.ID_E AND asignacion.ID_T = edificio.ID_T
WHERE edificio.tipo = 'OFICINA'
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 20:21.