¿alguna manera de realizar 2 busquedas y sumar o restar sus resultados?
gracias de antemano! saludos!

| |||
restas y sumas en resultados de busquedas buenos dias a todos, mi pregunta es simple, ¿existe en mysql alguna manera de realizar lo que los comandos INTERSECT y EXCEPT hacen en sql server? ¿alguna manera de realizar 2 busquedas y sumar o restar sus resultados? gracias de antemano! saludos! ![]() |
| |||
Respuesta: restas y sumas en resultados de busquedas Hola iPaNiiCx: En MySQL puedes utilizar los operadores INNER JOIN, LEFT JOIN y las condiciones EXISTS y NOT EXISTS para simular las operaciones INTERSECT y EXCEPT de SQL Server, checa estos scripts: En SQL Server, sería más o menos así:
Código SQL:
Ver original Esto mismo puedes hacerlo en MySQL así:
Código MySQL:
Ver original Sólo tienes que cuidar definir correctamente todas tus condiciones. Saludos Leo |
| |||
Respuesta: restas y sumas en resultados de busquedas muchas gracias leonardo, me ah servido de mucho tu ayuda ya que son cosas que no conocia y me ayudaron a realizar mi query el cual era utilizando el comando UNION, gracias por tu tiempo.
Código MySQL:
Ver original |
| |||
Respuesta: restas y sumas en resultados de busquedas Hola iPaNiiCx: Si la consulta que pones en tu post es la que realmente necesitas, no hay necesidad de utilizar un UNION, pues la información la estás extrayendo de la misma tabla, bastaría con utilizar una sentencia IN en el WHERE para poder aplicar la comparación de múltiples materias:
Código MySQL:
Ver original Y algunas observaciones adicionales, no es recomendable que utilices JOIN's sin especificar la cláusula ON o USING, ya que se realiza un producto cartesiano, en tu caso estás filtrando la información en el WHERE, pero esta filtración se realiza después de hacer el producto cartesiano, lo que puede afectar mucho el rendimiento de tus consultas. Checa este ejemplo para ver la diferencia:
Código MySQL:
Ver original observa que aunque en las últimas dos consultas el resultado es el mismo, el primer caso no resulta óptimo. Con pocos registros no verías diferencias en los tiempos de respuesta, pero con tablas grandes verías que es mejor hacerlo con el ON. Saludos Leo. |
Etiquetas: |