Ver Mensaje Individual
  #7 (permalink)  
Antiguo 21/01/2009, 10:35
nephilim2612
 
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid, España
Mensajes: 149
Antigüedad: 15 años, 5 meses
Puntos: 5
Respuesta: 10 registros más actuales

Hum...entonces quizá sea del motor de base de datos, ya que la sentencia en esta forma:

SELECT TOP 10 NOMBRE FROM candidatos WHERE nombre LIKE '%jose%' ORDER BY FECHA_ALTA DESC

Funciona perfectamente en SQLServer. Desconozco si los nombres de campos a nivel individual se especifican de manera diferente en pgAdmin, porque no lo he utilizado nunca. Pero lo que sí te aconsejo (no estoy seguro de haber entendido si lo has hecho o no) es que hagas dos cosas:

1) Probar la sentencia, tal y como me la has dicho, sin las comillas en "NOMBRE"

2) Revisar la documentación de pgAdmin para conocer la sintaxis de especificación de nombres de campos. Se me ocurren algunas posibles causas para que esa sentencia no funcione:

a) Que los nombres de campos en pgAdmin sean case sensitive. Es decir, que las mayúsculas y minúsculas se tomen en cuenta a la hora de ejecutar la sentencia, con lo cual puede que el campo se llame Nombre o nombre y, al poner el identificador del campo totalmente en mayúsculas, el motor no te lo reconozca

b) Que tengas que utilizar algún delimitador para especificar los identificadores de los campos, como unos corchetes (y tuvieras que escribir SELECT TOP 10 [Nombre] ....)

c) Que pgAdmin no entienda la palabra reservada TOP, con lo cual deberías revisar la documentación en busca de alguna otra keyword o mecanismo equivalente.

Pero, sin duda, en primer lugar, probaría a ejecutar, si no lo has hecho, la sentencia de este modo:

SELECT TOP 10 NOMBRE FROM candidatos WHERE nombre LIKE '%jose%' ORDER BY FECHA_ALTA DESC;

Espero haberte sido de ayuda.

P.D: Cuando hablo de "identificadores" de campos, hablo de sus nombres, pero no he querido emplear el término "nombre" para no liarte con la explicación.