SQL - Consulta Sql Novato

   
Vista:

Consulta Sql Novato

Publicado por Beiker (1 intervención) el 21/02/2010 13:15:00
Hola

Tengo una consulta sobre una consulta sql, ya que estoy haciendo un curso de administracion de base de datos de oracle, y ahora estamos haciendo sql de una manera para que no negarlo bastante veloz, y bueno voy al grano.

Me instale oracle con los esquemas de ejemplo, y estoy trabajando con las tablas del usuario hr y tengo una pregunta que me esta carcomiendo por dentro y llevo un monton de rato con ella que es esta

4.- Muestre el apellido, la fecha de contratación y el día de la semana en el que comenzó el empleado a trabajar. Etiquete la columna día. Ordene los resultados por dia de la semana, comenzando por el lunes.

A lo que yo he hecho esto:

select last_name,hire_date,to_char(hire_date,'DAY') as dia
from employees
order by to_char('DAY')

Pero el gran problema es que no se como coño hacer para que me los ordene empezando por el lunes ya que me los saca ordenados por grupos de dias, pero nunca por dia

Un Saludo

Beiker
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

RE:Consulta Sql Novato

Publicado por Leonardo Josue (880 intervenciones) el 23/02/2010 19:39:57
Antes que nada Beiker, evita el uso de lenguaje soez cuando uses el foro por respeto a los demás participantes, ya que es bastante desagradable y molesto para algunos de nosotros.

Ahora bien, con respecto a lo que comentas, hay una propiedad para el método to_char [to_char(fecha, 'D')] de Oracle que te muestra el ordinal del día:

Lunes = 1
Martes = 2
...
Domingo = 7

por lo tanto, la consulta que necesitas quedaría como sigue.

select last_name,hire_date,to_char(hire_date,'DAY') as dia
from employees
order by to_char(hire_date,'D')

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

RE:Consulta Sql Novato

Publicado por Diego (1 intervención) el 15/10/2013 16:42:20
para q muestre ordenado a partir del lunes

select last_name,hire_date,to_char(hire_date,'DAY') as dia
from employees
order by to_char(hire_date -1 ,'D')

saludos
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