![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 31.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Handluję taśmami, które sortuję według pewnych kategorii (w skrócie: kat1 - c1, kat2 - c2, itd.). Jest ich 5. Standardowe "ORDER BY `c1`, `c2`, `c3`, `c4`, `c5`" okazało się niewystarczające, gdyż chciałbym, aby rekordy były sortowane wedle ustalonych przeze mnie wcześniej struktur. Jest to w każdym bądź razie mało istotne przy moim problemie. Chciałem, aby kod PHP generował zapytanie opierając się o inne dane. Poczytałem sobie trochę w Internecie, i wydaje mi się, że znalazłem to, czego szukałem. Nie znalazłem jednak rozwiązań dla wielu wartości, wedle których chcemy rekordy sortować. Mój kod PHP wygenerował następujące zapytanie MySQL:
Moje pytanie jest następujące: Co jest w szkielecie tego zapytania nie tak? Nie chcę prosić o kod PHP, bo po pierwsze, nie chcę gotowca, po drugie, musiałbym tłumaczyć o co mi dokładnie chodzi. Tak naprawdę interesuje mnie tylko fakt, dlaczego nic nie mogę wyciągnąć z takiego zapytania (brak rekordów). Prosiłbym o wyrozumiałość. Pozdrawiam ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Tak na pierwszy rzut oka.... błędy w gramatyce SQL
CASE należało by użyć w sekcji SELECT a nie po where. Alias nie działa tak, jak Ty to napisałeś http://www.1keydata.com/sql/sql-case.html Ten post edytował bpskiba 20.06.2012, 17:49:12 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 31.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Naprawdę nie chciałem być nachalny i prosić o gotowe rozwiązania, ale... Nie mam pojęcia jak sobie poradzić z tymi cudzysłowami i apostrofami... Mógłbym prosić o jakiś przykład dla chociaż dwóch kategorii i kilku wartości? Nie wiem jak się zabrać za te zapytanie.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 31.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Em, ale tu jest tylko uwzględnione c1, ja chciałbym przykład z c1, c2, chodzi mi o to, jak potem wykorzystać te "case" przy ORDER BY. Pozdrawiam.
Edit: Wyszło mi takie coś, ale wciąż 0 rekordów daje:
Ten post edytował Pental 20.06.2012, 19:11:54 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 31.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Co teraz źle ![]() Edit: Ok, brak jednego przecinka, wszystko działa, wielkie dzięki! Ten post edytował Pental 20.06.2012, 19:21:28 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
SELECT `name`, `id`, `status` , CASE c1 WHEN '....
Ten post edytował bpskiba 20.06.2012, 19:23:54 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 12 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
I proponuję koledze zacząć stosować łamanie linii i wcięcia.
Wtedy o wiele łatwiej jest wyłapać ewentualne błędy typu "zgubiony" przecinek ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 13:28 |