Avatar billede Slettet bruger
22. juni 2004 - 08:13 Der er 4 kommentarer og
1 løsning

bring to top (order by keywords)

tror ikke, i fik noget som helst ud af overskriften, så prøver lige igen :P..

jeg skal sortere, så posts med to specifikke keywords (Calibration og Maintanance) kommer til top...

Hvis jeg har nogle posts, hvor Product (en row) f.eks. kan være:
Calibration
Maintanance
Catalina EU
Lightning
mm.. skal dem med Catalina og Maintanance komme først.. Dette skal også fungere med order by, så det ikke bliver "rodet rundt" igen.. min foreløbige sql er:

select * from testing where [Test platform] = '" & test_name & "' order by (Bring to top where Product = 'Calibration' OR Product = 'Maintanance'), [Priority] asc, [PP demand date, testing] asc, [TCC target date, testing] asc, [Duration] asc, [Remaining] asc"
Avatar billede Slettet bruger
22. juni 2004 - 08:17 #1
jeg kan godt selv finde ud af at dele requesten, så jeg først laver en sql der tager posts med Calibration og Maintanance, og dernæst en der tager de resterende.. men ville være fedt, hvis jeg kunne lave det med en sql, da man skal kunne indstille, hvilke rows, der skal "order by", hvilke keywords, der er vigtigt (Maintanance, Calibration), hvilke det ikke skal være (0, alle negative tal mm).. osv. dette kan jeg godt finde ud af at lave, men ville lige forklare situationen, så i bedre forstår, hvorfor det helst skal være en request..


/1

ps.. Tror ikke selv, jeg kan få så meget mening ud af det, jeg lige har skrevet, så jeg forventer ikke det store af jer :P...
Avatar billede proaccess Nybegynder
22. juni 2004 - 08:38 #2
Prøv med noget i retning af:

"SELECT * FROM testing WHERE [Test platform] = '" & test_name & "' ORDER BY IIF(Product IN ('Calibration', 'Maintanance'), 1, 2), [Priority], [PP demand date, testing], [TCC target date, testing], [Duration], [Remaining]"
Avatar billede Slettet bruger
22. juni 2004 - 09:07 #3
det virker.. men kan jeg ikke få forklare, hvordan det virker?? er IIF det samme som IF og hvad betyder ",1,2)"
Avatar billede Slettet bruger
22. juni 2004 - 09:33 #4
Avatar billede proaccess Nybegynder
22. juni 2004 - 09:35 #5
IIF er i realiteten en IF-THEN-ELSE...

IIF(X=Y, a, b) betyder at hvis X=Y (udtrykket, som kan være sandt eller falsk), så skal vi have værdien 'a' ellers skal vi have værdien 'b'.

Eller i dit tilfælde:
Hvis Product er i listen ('Calibration', 'Maintanance') så skal vi have tallet 1 og ellers tallet 2.  Dette sorterer vi så stigende, så dem med 1 kommer først!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester