En ocasiones no queda más remedio que agrupar consultas, ya que hay que usar funciones de grupo como MIN, MAX, AVG, etc. En este caso necesitábamos un MIN(fecha), además de cargar campos de tipo TEXT que de manera normal no podrían agruparse. Si se hace lo siguiente, la consulta fallará:
SELECT descripcion ,
ficha ,
min(fecha) minfecha
from tabla
GROUP BY
descripcion ,
ficha
ORDER BY min(fecha)
Una consulta normalmente válida de este tipo, siendo los campos 'descripcion' y 'ficha' de tipo TEXT, fallará. Para ello tenemos que engañar convirtiendo los campos de tipo texto en cadenas con longitud limitada mediante la función SUBSTRING. La solución sería la siguiente:
SELECT substring(descripcion,1,500) descripcion ,
substring(ficha,1,500) ficha ,
min(fecha) minfecha
from tabla
GROUP BY
substring(descripcion,1,500) ,
substring(ficha,1,500)
ORDER BY min(fecha)
Mostrando entradas con la etiqueta SQL Server. Mostrar todas las entradas
Mostrando entradas con la etiqueta SQL Server. Mostrar todas las entradas
miércoles, 5 de agosto de 2009
CONCAT en SQL Server
CONCAT es una función propia de MySQL y Oracle que sirve para juntar diferentes campos y cadenas para que se muestren como una en una consulta de SQL. Por desgracia, no puede usarse en SQL Server. Para ello podríamos hacer lo siguiente:
SELECT id,nombre_es + ' (' + tipo + ')' FROM tabla ORDER BY nombre_es asc
SELECT id,nombre_es + ' (' + tipo + ')' FROM tabla ORDER BY nombre_es asc
Suscribirse a:
Entradas (Atom)