elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Usar case
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Usar case  (Leído 2,131 veces)
yoelrodguez

Desconectado Desconectado

Mensajes: 167


Es mejor, una amarga verdad que una dulce mentira


Ver Perfil WWW
Usar case
« 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
@var2 := SUBSTR(tabla1.colunma1 FROM 1 FOR 10),
CASE WHEN @var1 <> @var2 THEN
@var2 := SUBSTR(tabla1.colunma1 FROM 1 FOR 10),
(SELECT columna1, columna2 FROM tabla1)
ELSE
 (SELECT columna1, columna2 FROM tabla2)
END
FROM tabla1


Saludos 


En línea

ZeroVzla

Desconectado Desconectado

Mensajes: 71


Ver Perfil
Re: Usar case
« Respuesta #1 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

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.




En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
PROBLEMA CON FUNCIÓN CASE:
Programación Visual Basic
CRAB 8 2,425 Último mensaje 3 Septiembre 2005, 21:28 pm
por NYlOn
Pascal+Case Of
Ejercicios
Corso 3 6,641 Último mensaje 20 Noviembre 2005, 06:28 am
por jvchino
Case en MySQL
Desarrollo Web
Bhrentox 1 1,691 Último mensaje 13 Marzo 2013, 16:29 pm
por 1mpuls0
¿Es la forma correcta de usar match...case? [Python 3.10]
Scripting
Yidu 1 3,776 Último mensaje 9 Diciembre 2021, 15:37 pm
por ErahUnderground
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines