• Domingo 22 de Diciembre de 2024, 15:15

Autor Tema:  Re: ¿Cómo ordenar por el primer campo de esta SELECT?  (Leído 1264 veces)

JOSE ANTONIO

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: ¿Cómo ordenar por el primer campo de esta SELECT?
« en: Jueves 15 de Mayo de 2003, 13:05 »
0
Muy buenos días.
Después de darle algunas vueltas y trabajar el problema de ordenación, tengo otra select que me ordena perfectamente bien por todos los campos, excepto uno... ¿cómo podría cambiar la select para que me ordenara por todos los campos?

Esta es la Select, el primer campo es una subselect que devuelve un único campo, y el resto es un left join de 2 tablas.

SELECT (SELECT certificados.codcertifica
from certificados
where certificados.Numwo=wo.numwo
and certificados.lineawo=wo_lineas.lineawo)
as Certificado
,WO.NumWO as NumWO,
WO.CodCli as Cliente,
WO.CodSeccion as Seccion,
WO_Lineas.*
from WO_LINEAS LEFT JOIN WO
ON WO.NumWO=WO_Lineas.NumWO

Al añadir la cláusula ORDER BY me ordena por cualquier campo, excepto por "Certificado" (la primera subselect). Es subselect devuelve uno y sólo un registro. He probado haciendo "order by " por el alias y por el campo, pero ambas opciones me fallan, ¿cómo lo podría resolver? ¿Cómo podría modificar la select para ordenar?


:ouch:

ROBER.29

  • Miembro MUY activo
  • ***
  • Mensajes: 421
    • Ver Perfil
    • http://www.contrapixel.com
Re: ¿Cómo ordenar por el primer campo de esta SELECT?
« Respuesta #1 en: Jueves 15 de Mayo de 2003, 16:50 »
0
Has probado lo siguiente:

SELECT (SELECT certificados.codcertifica
from certificados
where certificados.Numwo=wo.numwo
and certificados.lineawo=wo_lineas.lineawo)
as Certificado
,WO.NumWO as NumWO,
WO.CodCli as Cliente,
WO.CodSeccion as Seccion,
WO_Lineas.*
from WO_LINEAS LEFT JOIN WO
ON WO.NumWO=WO_Lineas.NumWO
ORDER BY 1
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid

JOSE ANTONIO

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: ¿Cómo ordenar por el primer campo de esta SELECT?
« Respuesta #2 en: Jueves 15 de Mayo de 2003, 17:02 »
0
Sí, me produce el error 3020 en tiempo de ejecución, "Update or CancelUpdate without AddNew or Edit".

ROBER.29

  • Miembro MUY activo
  • ***
  • Mensajes: 421
    • Ver Perfil
    • http://www.contrapixel.com
¿Cómo ordenar por el primer campo de esta SELECT?
« Respuesta #3 en: Jueves 15 de Mayo de 2003, 18:33 »
0
Prueba la siguiente consulta:

SELECT (SELECT certificados.codcertifica
from certificados
where certificados.Numwo=wo.numwo
and certificados.lineawo=wo_lineas.lineawo)
as Certificado
,WO.NumWO as NumWO,
WO.CodCli as Cliente,
WO.CodSeccion as Seccion,
WO_Lineas.*
From WO_LINEAS, WO
WHERE WO.NumWO =* WO_Lineas.NumWO
ORDER BY 1

Ya me contaras si te funciona o que error te da.

Saludos,
Roberto García
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid