>Terry: what happens if you try to access your query from outside Access (eg. from Microsoft Query in Excel) - Hint: is IIf() an Access-function like nz(), which CANT be used in MS Query.
Other values higher than 100 should be placed after 0 when sorting. That is, if the tuple (kat, 120) gets inserted it should be placed last in the above example.
Proaccess: Desværre, db2 kan ikke finde ud af (Value=0) i order-by-delen.
Her er de fejlmeddelelser jeg får (anden tabel, men ideen er den samme):
db2 => select * from html order by (html=10) desc, html ; SQL0104N An unexpected token "=" was found following "html order by (html". Expected tokens may include: "+". SQLSTATE=42601
og
db2 => SELECT IFNULL(NULLIF(html,0), 100) FROM html ORDER BY IFNULL(NULLIF(html, 0), 100), html ; SQL0171N The data type, length or value of argument "2" of routine "SYSIBM.NULLIF" is incorrect. SQLSTATE=42815
Hvordan pokker kan jeg se hvilke argumenter en funktion tager?
SELECT *, IFNULL(NULLIF(html, 0), 100) FROM html ORDER BY IFNULL(NULLIF(html, 0), 100), html;
NULLIF returnerer NULL hvis første element er lig andet element, ellers returneres første element. IFNULL returnerer første element, hvis dette er andet end NULL ellers returneres andet element.
Sådan er det ihvertfald i den version jeg arbejder med (gammel udgave og på AS/400)
Arrgg.... jeg dummede mig lidt, html er ikke af typen integer. Men hvis jeg bruger id som er, så får jeg stadig fejl:
db2 => select * from html order by (id=0) desc, id ; SQL0104N An unexpected token "=" was found following "om html order by (id". Expected tokens may include: "+". SQLSTATE=42601 db2 => SELECT IFNULL(NULLIF(id,0), 100) FROM html ORDER BY IFNULL(NULLIF(id, 0), 100), id; SQL0440N No function by the name "IFNULL" having compatible arguments was found in the function path. SQLSTATE=42884 db2 => SELECT *,IFNULL(NULLIF(id,0), 100) FROM html ORDER BY IFNULL(NULLIF(id, 0), 100), id; SQL0104N An unexpected token "*" was found following "SELECT ". Expected tokens may include: "?". SQLSTATE=42601 db2 => describe table html ;
Column Type Type name schema name Length Scale Nulls ------------------------------ --------- ------------------ -------- ----- ----- ID SYSIBM INTEGER 4 0 No HTML SYSIBM VARCHAR 50 0 Yes
Hmmm... alternativt kan jeg jo blive nødt til at lave en udf (user defined function), der mapper værdierne korrekt. Men dette vil jeg helst undgå, for der er vel en del overhead i at kalde en extern javafunktion?
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.