Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] MySql

Estas en el tema de MySql en el foro de Mysql en Foros del Web. Buenas, en primer lugar soy nuevo en el foro y necesitaría ayuda en una cosita. En un ejercicio me piden Mostrar un profesor, que tenga ...
  #1 (permalink)  
Antiguo 10/02/2014, 11:12
 
Fecha de Ingreso: febrero-2014
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 0
MySql

Buenas, en primer lugar soy nuevo en el foro y necesitaría ayuda en una cosita.

En un ejercicio me piden Mostrar un profesor, que tenga más antigüedad en el centro y he hecho esto:
Código SQL:
Ver original
  1. SELECT NOMBRE, DATE_FORMAT(DATEDIFF(CURDATE(),ANTIG),'%Y/%M/%d')
  2. FROM PROFESORES
  3. WHERE ESPEC = 'PT';
Decidles, que yo no uso oracle, uso MySQL Query Browser.

El problema es que la fecha quiero que me la dé en formato, año mes y día. Y sé que es con DATE_FORMAT pero cuando lo hago y lo ejecuto me sale este error: Incorrect Datetime value 3064. Si me pudiesen ayudar se lo agradecería, si necesitan más info pidanmela y yo subo la base de datos con los problemas ok? Gracias por su ayuda.

Última edición por gnzsoloyo; 10/02/2014 a las 11:25
  #2 (permalink)  
Antiguo 10/02/2014, 11:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: MySql

Cita:
Decidles, que yo no uso oracle, uso MySQL Query Browser.

Bueno, estás en el foro de MySQL, así que es el lugar correcto, pero te recomiendo que tires ala basura el MQB, porque es obsoleto, sin soporte y desactualizado para muchos usos.
Te recomiendo usar el MySQL Workbench, que es lo que reemplazó todo el paquete de utilidades de MySQL.
Cita:
En un ejercicio me piden Mostrar un profesor, que tenga más antigüedad en el centro y he hecho esto:
Pues esa consulta no hace eso...
Si ANTIG es un campo DATE o DATETIME, la cosa sería:
Código MySQL:
Ver original
  1. SELECT NOMBRE
  2. FROM PROFESORES
  3. WHERE ESPEC = 'PT' AND ANTIG = (SELECT MAX(ANTIG) FROM profesores);
O bien:
Código MySQL:
Ver original
  1. SELECT NOMBRE
  2. FROM PROFESORES
  3. WHERE ESPEC = 'PT'
  4. HAVING ANTIG = MAX(ANTIG) ;
o incluso:
Código MySQL:
Ver original
  1. SELECT NOMBRE, antig
  2. FROM PROFESORES
  3. WHERE ESPEC = 'PT'
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 10/02/2014, 14:34
 
Fecha de Ingreso: febrero-2014
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 0
Muchísimas gracias, en serio me ha resuelto la duda el último que pusiste, solo que quite una cosa y me quedó asi
Código MySQL:
Ver original
  1. SELECT NOMBRE
  2. FROM PROFESORES
  3. WHERE ESPEC = 'PT'
  4. HAVING MAX(ANTIG);
[/CODE]

Bueno dicho esto, gracias por todo amigo!! Tema Resuelto, aunque quizás tenga más dudas.

Última edición por gnzsoloyo; 10/02/2014 a las 14:43

Etiquetas: datediff, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:05.