Excluir datos de una lista(Urgente!!ayuda!!!!!)
Publicado por Antonio (3 intervenciones) el 30/10/2007 22:51:49
Jejeje trate de responder a isaias y me respondi solo, aqui esta mi pregunta de nuevo!
----------
Perdon, la pregunta no estaba completa cuando la mande, me faltaron algunos datos, gracias por contestar!!
Pense que habia resuelto mi problema pero no :(, sigo donde mismo!
Estoy usando SQL Service Enterprise
Añadi los queris que estoy usando para sacar mi reporte. Estan al final.
,Muchas gracias.
------------------
Buenas tardes, Espero me puedan ayudar con el siguiente problema, se los agradeceria mucho ya que tengo un dos dias y no salgo de donde mismo.
Tengo 4 tablas: Actividades, Maquinas, Servicios y TrabajosRealizados
En mi tabla de Actividades tengo : Contiene actividades, y la descripcion de la actividad. Ejem:
Activi_id Activi_Desc (Tratare de hacer mis ejem..lo mas simple posible :)
--------------------------------
1 Lavar
2 Planchar
3 Aspirar
4 Mapear ( o Trapear en español)
Luego tengo mi tabla de maquina donde tengo: Maquina, y descripcion de la maquina
Maquinas: (todas mis maquinas pueden hacer todas las actividades)
Maquina_id maquina_desc
----------------------------------------------
63 x
63 x
63 x
63 x
64 y
64 y
64 y
64 y
65 z
65 z
65 z
65 z
Mi tabla de servicios, donde tengo que actividad puede realizar cada maquina, en este caso, todas las maquinas pueden realizar todas las actividades.
Servicios:
Maquina_id activi_id
---------------------------------------------------------------
63 1
63 2
63 3
63 4
64 1
64 2
64 3
64 4
65 1
65 2
65 3
65 4
Luego tengo mi tabla de TrabajosRealizados tengo: que actividad se realizo y por que maquina fue echa la actividad: ejem:
TrabajosRealizados:
Maquina_id Actividad_id Quien
________________________________
63 1 Pepe
63 3 Pepe
63 4 Pepe
64 3 Pepe
64 4 Pepe
65 2 Pepe
-----------------------------------------------------------------------------------------------------------------------
Mi problema es que quiero sacar que sacar un reporte donde muestre todas las maquinas con sus actividades que pueden realizar, y marcar que actividades se realizaron con cada maquina.
Mi reporte seria algo asi:
Reporte:
Maquina_id activi_id Trabajo Realizado Quien
----------------------------------------------------------------------------------
63 1 Si Pepe
63 2 No Null
63 3 Si Pepe
63 4 Si Pepe
64 1 No Null
64 2 No Null
64 3 Si Pepe
64 4 Si Pepe
65 1 No Null
65 2 Si Pepe
65 3 No Null
65 4 No Null
************
Este es el query que uso para sacar mi reporte, primero hago saco todo lo que esta en mi tabla de Servicios(todas las maquinas y las actividades que pueden hacer.
Luego de ahi estoy tratando de excluir las actividades que se realizaron, las que se que tengo en mi tabla de trabajos realizados.
para Luego estoy uniendo esos resultados a el resultado que tengo en mi tabla de trabajos realizados, ya que quiero saber quien realizo las actividades.
Mi query en el que estoy teniendo problemas es cuando trato de excluir las actividades que tenfo en mi otro query.
Por ejemplo: Este query me da las actividades que se realizaron.
Select Maquina_id, Actividad_id, Quien From TrabajosRealizados
Inner join Maquinas on Maquinas.maquina_id = trabajosRealizados.maquina_id
Inner join Actividades on Actividades.activi_id = trabajosRealizados.actividad_id
inner join misUsuarios on misUsuarios.quien = trabajosRealizados.quien
Este me regresa:
Maquina_id Actividad_id Quien
________________________________
63 1 Pepe
63 3 Pepe
63 4 Pepe
64 3 Pepe
64 4 Pepe
65 2 Pepe
**************HASTA AQUI TODO ESTA BIEN
El problema es hacer lo siquiente
Select Maquina_id, Actividad_id, Quien From TrabajosRealizados
Inner join Maquinas on Maquinas.maquina_id = trabajosRealizados.maquina_id
Inner join Actividades on Actividades.activi_id = trabajosRealizados.actividad_id
inner join misUsuarios on misUsuarios.quien = trabajosRealizados.quien
Union all
Select Maquina_id, Activi_id from Servicios
Inner join Maquinas on Maquinas.maquina_id = Servicios.maquina_id
Inner join Actividades on Actividades.activi_id = Servicios.activi_id
AND
(
Actividades.activi_id NOT IN (Select Distinct actividades.actividades_activi_id from trabajosRealizados) or (Maquinas.maquina_id NOT IN (Select distinct maquinas.maquina_id from trabajosRealizados)
)
***********************************************************
Mi problema es el NOT IN, no se como excluir las actividades que son iguales que las que tengo en trabajos realizados para poder poner esas(trabajosRealizados) ya que son las que me interesan y no quiero tener duplicados....
No se si me explique bien, pero no duden en preguntarme cualquier duda....y gracias por ayudar!!
----------
Perdon, la pregunta no estaba completa cuando la mande, me faltaron algunos datos, gracias por contestar!!
Pense que habia resuelto mi problema pero no :(, sigo donde mismo!
Estoy usando SQL Service Enterprise
Añadi los queris que estoy usando para sacar mi reporte. Estan al final.
,Muchas gracias.
------------------
Buenas tardes, Espero me puedan ayudar con el siguiente problema, se los agradeceria mucho ya que tengo un dos dias y no salgo de donde mismo.
Tengo 4 tablas: Actividades, Maquinas, Servicios y TrabajosRealizados
En mi tabla de Actividades tengo : Contiene actividades, y la descripcion de la actividad. Ejem:
Activi_id Activi_Desc (Tratare de hacer mis ejem..lo mas simple posible :)
--------------------------------
1 Lavar
2 Planchar
3 Aspirar
4 Mapear ( o Trapear en español)
Luego tengo mi tabla de maquina donde tengo: Maquina, y descripcion de la maquina
Maquinas: (todas mis maquinas pueden hacer todas las actividades)
Maquina_id maquina_desc
----------------------------------------------
63 x
63 x
63 x
63 x
64 y
64 y
64 y
64 y
65 z
65 z
65 z
65 z
Mi tabla de servicios, donde tengo que actividad puede realizar cada maquina, en este caso, todas las maquinas pueden realizar todas las actividades.
Servicios:
Maquina_id activi_id
---------------------------------------------------------------
63 1
63 2
63 3
63 4
64 1
64 2
64 3
64 4
65 1
65 2
65 3
65 4
Luego tengo mi tabla de TrabajosRealizados tengo: que actividad se realizo y por que maquina fue echa la actividad: ejem:
TrabajosRealizados:
Maquina_id Actividad_id Quien
________________________________
63 1 Pepe
63 3 Pepe
63 4 Pepe
64 3 Pepe
64 4 Pepe
65 2 Pepe
-----------------------------------------------------------------------------------------------------------------------
Mi problema es que quiero sacar que sacar un reporte donde muestre todas las maquinas con sus actividades que pueden realizar, y marcar que actividades se realizaron con cada maquina.
Mi reporte seria algo asi:
Reporte:
Maquina_id activi_id Trabajo Realizado Quien
----------------------------------------------------------------------------------
63 1 Si Pepe
63 2 No Null
63 3 Si Pepe
63 4 Si Pepe
64 1 No Null
64 2 No Null
64 3 Si Pepe
64 4 Si Pepe
65 1 No Null
65 2 Si Pepe
65 3 No Null
65 4 No Null
************
Este es el query que uso para sacar mi reporte, primero hago saco todo lo que esta en mi tabla de Servicios(todas las maquinas y las actividades que pueden hacer.
Luego de ahi estoy tratando de excluir las actividades que se realizaron, las que se que tengo en mi tabla de trabajos realizados.
para Luego estoy uniendo esos resultados a el resultado que tengo en mi tabla de trabajos realizados, ya que quiero saber quien realizo las actividades.
Mi query en el que estoy teniendo problemas es cuando trato de excluir las actividades que tenfo en mi otro query.
Por ejemplo: Este query me da las actividades que se realizaron.
Select Maquina_id, Actividad_id, Quien From TrabajosRealizados
Inner join Maquinas on Maquinas.maquina_id = trabajosRealizados.maquina_id
Inner join Actividades on Actividades.activi_id = trabajosRealizados.actividad_id
inner join misUsuarios on misUsuarios.quien = trabajosRealizados.quien
Este me regresa:
Maquina_id Actividad_id Quien
________________________________
63 1 Pepe
63 3 Pepe
63 4 Pepe
64 3 Pepe
64 4 Pepe
65 2 Pepe
**************HASTA AQUI TODO ESTA BIEN
El problema es hacer lo siquiente
Select Maquina_id, Actividad_id, Quien From TrabajosRealizados
Inner join Maquinas on Maquinas.maquina_id = trabajosRealizados.maquina_id
Inner join Actividades on Actividades.activi_id = trabajosRealizados.actividad_id
inner join misUsuarios on misUsuarios.quien = trabajosRealizados.quien
Union all
Select Maquina_id, Activi_id from Servicios
Inner join Maquinas on Maquinas.maquina_id = Servicios.maquina_id
Inner join Actividades on Actividades.activi_id = Servicios.activi_id
AND
(
Actividades.activi_id NOT IN (Select Distinct actividades.actividades_activi_id from trabajosRealizados) or (Maquinas.maquina_id NOT IN (Select distinct maquinas.maquina_id from trabajosRealizados)
)
***********************************************************
Mi problema es el NOT IN, no se como excluir las actividades que son iguales que las que tengo en trabajos realizados para poder poner esas(trabajosRealizados) ya que son las que me interesan y no quiero tener duplicados....
No se si me explique bien, pero no duden en preguntarme cualquier duda....y gracias por ayudar!!
Valora esta pregunta


0