![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 19.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
niestety od dłuższego czasu męczę się z prostym zapytaniem SQL, wszystko działa oprócz sortowania. kod
wynik zwraca poprawnie, jednak sortowanie po kolumnach nie działa, w czym może być problem? dziękuje za pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Pomieszałeś dwie składnie CASE, tzn. składnia jest poprawna, ale źle użyłeś.
Albo:
Albo:
Jaki efekt chcesz osiągnąć? -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 19.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za pomoc, wcześniej robiłem to w ten sposób
niestety to także nie działało efekt ma być taki, że : posiadam 2 zmienne pSortColumn określającą nazwe kolumny po której chce sortować oraz pSortOrder określającą kierunek sortowania (ASC,DESC) przekazuje do procedury obie zmienne i na ich podstawie wykonuje sortowanie niestety przetestowałem już wiele sposobów i żaden nie działa w MSSQL ten sposób był jak najbardziej poprawny i działał prawidłowo, w MySQL jest już problem |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
To co pokazałeś teraz powinno działać (oczywiście zakładam, że tam gdzie nie ma spacji, docelowo są).
Ewentualnie: IF(pSortOrder, CASE grupa_1, CASE grupa_2) -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 19.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
procedura wywołuje się prawidłowo, sortowanie DESC działa, natomiast ASC nie
jak tego ifa zapakować do order by? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Po ORDER BY.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 19.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
udało mi się dojść do pewnego dość ciekawego momentu sortowania
ASC i DESC działa, ale nie tak jakbym tego potrzebował mianowicie zmienna Amount typ decimal(19,4) po sortowaniu mam coś takiego 95.00 903.80 79.00 600.99 58.00 540.00 305.00 widać, że w jakiś sposób posortował je, ale nie potraktował jako decimal :/ mój kod order by
dodam, że sortowanie po auctionDate działa prawidłowo Ten post edytował uraharu 2.09.2016, 12:58:08 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
A spróbuj zamiast robić cast dać coś takiego:
Kod lenght(l.Amount) DESC, l.Amount Analogicznie ASC. Ja ostatnio sortowałem liczbowo w formacie: 234-23423 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 19.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
niestety nic to nie pomogło, nadal sortuje mi w ten sam sposób mimo, że kolumna to decimal(15,2) :/
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 14.10.2016 Ostrzeżenie: (10%) ![]() ![]() |
Sometimes you might want to sort names. If you have First and Last names in one field, separated by a blank, you can do this by:
SELECT * FROM my_addressbook ORDER BY SUBSTRING_INDEX(name, ' ', -1) ASC |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:22 |