SQL - Select anidados

 
Vista:

Select anidados

Publicado por Avonlea (1 intervención) el 02/06/2012 13:40:47
Hola a todos,

estoy intentando hacer una consulta a través de select anidados, exactamente haciendo una consulta sobre un select, de esta manera:

SELECT mitabla.ndia, mitabla.salario
From [
select to_char(emp.hiredate, 'Day') ndia, MIN(emp.sal) salario
From emp
Order by to_char(emp.hiredate, 'D') ] AS mitabla ;

Por favor, alguien puede explicarme porqué no funciona , el error que me muestra es:

Informe de error:
Error SQL: ORA-00903: nombre de tabla no válido
00903. 00000 - "invalid table name"
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Select anidados

Publicado por leonardo_josue (1173 intervenciones) el 04/06/2012 15:56:23
Hola Avonlea:

En tu post no mencionas con qué motor de BD estás trabajando, aunque puedo suponer que se trata de ORACLE. Mucho cuidado, cuando publiques un post es muy importante que menciones este detalle, pues la sintaxis entre cada BD aunque es semejante, tiene diferencias muy significativas.

En tu caso tienes dos errores: Primero, para agrupar o definir subconsultas utilizas paréntesis () no corchetes [] y Segundo, la palabra reservada AS se utiliza de manera opcional EN EL SELECT, no en el FROM. La consulta entonces debería quedar así:

1
2
3
4
5
SELECT mitabla.ndia, mitabla.salario
From (
select to_char(emp.hiredate, 'Day') ndia, MIN(emp.sal) salario
From emp
Order by to_char(emp.hiredate, 'D')) mitabla;


Aunque aquí debería preguntarte ¿Necesitas realmente hacer la subconsulta?

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar