Título: Usar case Publicado por: yoelrodguez en 6 Mayo 2015, 01:44 am Hola a todos, quisiera saber si existe la forma de que un SELECT pueda seleccionar una subconsulta indistintamente con datos distintos y con la misma cantidad de columnas. Buscando encontré CASE pero cuando coloco la subconsulta me envía este error.
[Err] 1241 - Operand should contain 1 column(s) Código: SELECT Saludos Título: Re: Usar case Publicado por: ZeroVzla en 17 Mayo 2015, 05:51 am Hola,
Bueno creo que deberías probar mejor usando algo llamado "stored procedures" / "procedimientos almacenados", lee sobre PL/SQL. El case te permite hacer el tipo de condición que quieres pero como te dice el error la idea es que le case devuelva una columna en el select. Si te fijas tienes un select principal a la tabla "tabla1" y dentro de un select ¿qué se especifican? pues columnas. Con PL/SQL puedes un crear procedimiento y dentro del mismo puedes armar/crear/especificar querys para luego ejecutarlos. A continuación un link en el que explican cómo crear querys dinámicos en sql server, que aunque no es tu objetivo principal verás en la sección "Dynamic SQL in a Stored Procedure" cómo crean un procedimiento que ejecuta distintos querys dependiendo de ciertas condiciones. http://www.codeproject.com/Articles/20815/Building-Dynamic-SQL-In-a-Stored-Procedure (http://www.codeproject.com/Articles/20815/Building-Dynamic-SQL-In-a-Stored-Procedure) Tal vez si nos colocas qué quieres lograr con eso podamos darte soluciones con distintas aproximaciones. Por ahora, así como lo tienes y como lo quieres no vas a poder hacerlo. Saludos. |