Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/09/2010, 09:12
Avatar de Huasi
Huasi
 
Fecha de Ingreso: mayo-2007
Mensajes: 83
Antigüedad: 17 años, 5 meses
Puntos: 2
Select Except en tres tablas con varios campos

Hola amigos que tal, necesito ayuda con un procedimiento almacenado. Las tablas involucradas son las siguientes tres. En la tabla EveNro relaciono el Id de la tabla Evento con el Id de la tabla Numero:

Evento
EveId (int) pk
EveNombre (nvarchar)
EveFecha (datetime)
...

Numero
NumId (int) pk
NumNombre (nvarchar)
NumDescripcion (nvarchar)
...

EveNro
EveId (int) pk (fk Evento.EveId)
NroId (int) pk (fk Numero.NumId)

La informacion en las tablas seria algo asi:

Evento (EveId - EveNombre - EveFecha)
01 - Arte - 01/03/2010
02 - Moda - 02/04/2010
03 - Tango - 03/04/2010

Numero (NumId - NumNombre - NumDescripcion)
01 - Juan - Escultor
02 - Ernesto - Musico
03 - Marcos - Modelo
04 - Ana - Diseñador

EveNro (EveId - NroId)
01 - 01
02 - 03
02 - 04
03 - 02

Necesito realizar un procedimiento almacenado que me muestre los numeros disponibles para un evento siempre y cuando no se encuentren ya seleccionados para este mismo evento. Logre realizarlo de la siguiente manera pero solo puedo ver el campo NumId y yo necesito que me devuelva mas campos

Código SQL:
Ver original
  1. ALTER PROCEDURE dbo.VerNumeroEvento
  2. (@Buscado INT)
  3. AS
  4. SELECT DISTINCT NumId, FROM Numero
  5. EXCEPT
  6. SELECT NroId FROM EveNro
  7. WHERE EveNro.EveId = @Buscado
  8. SET NOCOUNT ON;
  9. RETURN

Espero por su ayuda, gracias.