Tengo instalado el SQL Server 2000, el problema que se me esta presentando actualmente es que necesito hacer una resta entre dos consultas, se que para eso existe el EXCEPT pero esta inahibiltado, entonces mi pregunta es ¿Cómo hago o como se puede hacer una resta entre dos consultas en SQL 2000?...
Creo que quieres restar los datos de un qry con otro, para eso puedes usar un LEFT JOIN entre ambos qrys, te detallo un ejemplo para que tu lo uses en tu escenario: select id_empleado, fecha, monto from tabla_ventas_2009 select id_empleado, fecha, monto from tabla_ventas_2008 tu quieres los empleados que vendieron el 2009 pero no el 2008: select a.id_empleado, a.fecha, a.monto from tabla_ventas_2009 a LEFT JOIN tabla_ventas_2008 b on a.id_empleado= b.id_empleado where b.id_empleado is null --Aca nos aseguramos que nos de la diferencia.
Hola, disculpa la aclaracion tardia, lo que pasa es que he estado probando con todo para no fastidiarte tanto y quitarte tu tiempo, pero es que no me sale la consulta que quiero, por eso otra vez YO.. Te explico yo tengo las siguientes tablas: orden, examen, prueba y resultado,... Yo hago la consulta desde orden hasta resultado utilizando un rigth outer join para que me muestre todas las pruebas de una orden que se ha hecho aunque aun no tengan resultado, y si existe alguna que ya se le ha ingresado un resultado que tambien me las muestre, es decir, que me muestre de una orden X las pruebas que tienen resultados y las que no; pero lamentablemte y no se por que? no me lo hace ;-(.... Este es el codigo que he estado trabajando, pero con este me repite todos los resultados de las pruebas para cualquier tipo de orden, claro esta que todos los pacientes no tienen los mismos resultados ;-)... SELECT Examen.Cod_Examen, Prueba.Cod_Prueba, Examen_Orden.Nro_Orden, Prueba_Orden_Resultado.Nro_Orden, Prueba_Orden_Resultado.Resultado, Prueba.Valor_Min, Prueba. Valor_Max, Prueba. Medida, Prueba. Descripción FROM Examen, Orden, Examen_Orden, { oj Prueba_Orden_Resultado Right OUTER JOIN Prueba ON Prueba_Orden_Resultado.Cod_Prueba = Prueba.Cod_Prueba } WHERE Examen_Orden.Cod_Examen = Examen.Cod_Examen and Examen.Cod_Examen = Prueba.Cod_Examen and Orden.Nro_Orden = Examen_Orden.Nro_Orden and Orden.Nro_Orden != '00000' order by Examen_Orden.Nro_Orden, Prueba.Cod_Prueba; Por favor si me podrías ayudar u orientar te lo agradecería de antemano... ;-)
Primero te recomiendo que des un orden a tu query y revises los cambios que he puesto en tus join, puse un left join que podría cubrir lo que necesitas, en caso no funcione prueba left outer join, lo ingreso en todos los join porque es necesario para que se jalen en caso tengas o no tengas datos en las tablas correspondientes, verifica la sintaxis que le he agregado sin revisar porque no tengo las tablas: SELECT Examen.Cod_Examen, Prueba.Cod_Prueba, Examen_Orden.Nro_Orden, Prueba_Orden_Resultado.Nro_Orden, Prueba_Orden_Resultado.Resultado, Prueba.Valor_Min, Prueba.Valor_Max, Prueba.Medida, Prueba.Descripcion FROM Examen left join Prueba on examen.cod_examen= prueba.cod_examen left join examen_orden on examen_orden.cod_examen= examen.cod_examen left join prueba_orden_resultado on Prueba_Orden_Resultado.Cod_Prueba = Prueba.Cod_Prueba left join Orden on Orden.Nro_Orden = Examen_Orden.Nro_Orden and Orden.Nro_Orden != '00000'