27. februar 2005 - 16:14Der er
6 kommentarer og 1 løsning
Problem med sortering i oracle
Jeg har følgende SQL
SELECT - 1 AS VAERDI, '' AS MULIG FROM VA_WWW_AUTOMAT UNION SELECT DISTINCT AUT_NAVN_NR AS VAERDI, AUT_NAVN AS MULIG FROM VA_WWW_AUTOMAT WHERE (KUNDE_NR = 331) ORDER BY MULIG ASC
Problemet er at jeg gerne vil have den tomme streng til at optræde som den første post således at når siden loades vil denne være vist som standard i min selectboks. Lige nu optræder den som nederste streng. Jeg vil have sorteret dem alfabetisk, men gerne have den tomme streng øverst(den tomme streng er søg på alt).
Gen AI skaber stor opmærksomhed i Norden, men udfordringer som mangel på talent og tilpasning af forretningsmodeller kan bremse de ambitiøse planer.
21. februar 2025
Slettet bruger
27. februar 2005 - 16:24#1
SELECT - 1 AS VAERDI, '' AS MULIG FROM VA_WWW_AUTOMAT UNION SELECT DISTINCT AUT_NAVN_NR AS VAERDI, AUT_NAVN AS MULIG FROM VA_WWW_AUTOMAT WHERE (KUNDE_NR = 331) ORDER BY NVL(MULIG, 'A') ASC
Jeg får nu fejlen ORA-01785: ORDER BY item must be the number of a SELECT-list expression
Hvis jeg bruger det NVL.
Hvad gør den helt præcist?
Synes godt om
Slettet bruger
27. februar 2005 - 19:58#3
jeg har ikke lige en sql*plus, så jeg kan prøve det af, det overrasker mig at der er problemer, men du kan formentlig skrive
select vaerdi, mulig from ( SELECT - 1 AS VAERDI, '' AS MULIG FROM VA_WWW_AUTOMAT UNION SELECT DISTINCT AUT_NAVN_NR AS VAERDI, AUT_NAVN AS MULIG FROM VA_WWW_AUTOMAT WHERE (KUNDE_NR = 331) ) order by nvl(mulig, 'A')
Ideen med NVL er at hvis mulig har værdi NULL (eller '') skal den erstattes af værdien 'A'.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.