Autor | Zpráva | ||
---|---|---|---|
sql Profil * |
#1 · Zasláno: 10. 2. 2012, 09:44:14
Prosim, asi jednoduchy dotaz
jak provest sertideni zaznamu dle pevne stanoveneho poradi napr ORDER BY polozky a chci je setridit dle pevne danych kriterii "PH"", "SC", "JM" atd.... proste ne ASC, DESC dik za radu |
||
Kajman Profil |
#2 · Zasláno: 10. 2. 2012, 10:38:36
Nejlépe sloupcem 'poradi' u tech krajů.
Také by šlo order by order by field(`kraj`,'JM','SC','PH') desc |
||
sql Profil * |
#3 · Zasláno: 10. 2. 2012, 12:10:23
ORDER BY FIELD ('kraj', 'PH','SC','LB','HK','PB','UT','KV','PZ','JC','VS','MS','OL','ZL','JM'), mesto ASC
Chyba: SQLSTATE[HY000]: General error: 1 no such function: FIELD kde je chyba, plsss? |
||
Kajman Profil |
#4 · Zasláno: 10. 2. 2012, 13:02:04
Toto řešení je pro mysql. Jakou db používáte?
|
||
sql Profil * |
#5 · Zasláno: 10. 2. 2012, 14:37:57
SQLite
|
||
Kajman Profil |
#6 · Zasláno: 10. 2. 2012, 14:52:57
Možná půjde
ORDER BY CASE WHEN kraj ='PH' THEN 1 WHEN kraj ='SC' THEN 2 WHEN kraj ='JM' THEN 3 ELSE 4 END |
||
sql Profil * |
#7 · Zasláno: 10. 2. 2012, 15:14:08
aha, trochu krkolomne, takze kdybych vytvoril tabulku kraju "kraje", kde by id bylo poradi v jakem bych je chtel zobrazit, pak
by select resp. podminka vypadala jak, tedy vazany na tu pomocnou tabulku? |
||
Kajman Profil |
#8 · Zasláno: 10. 2. 2012, 15:37:00
Ne k identifikaci (primární klíč) budou sloužit ty kódy 'PM', 'SC'. V dalších sloupečcích můžete mít ten kraj rozepsát a v dalším sloupečku pořadí.
Pak v dotaze pomocí join připojíte na základě těchto kódů informace o kraji a v order by použijete to pořadí. |
||
sql Profil * |
#9 · Zasláno: 10. 2. 2012, 16:27:13
Moc dekuji za radu, tak nakonec jsem pouzil to reseni s CASE, jelikoz okresy uz mam definovane jako konstantni pole, takze jsem si udelal fci ktera podminku CASE vygeneruje..
Ted uz to vraci to co chci a jak chci, jeste jednou diky, jinak bych se s tim trapil cert vi jak dlouho... |
||
Časová prodleva: 2 měsíce
|
|||
sql Profil * |
#10 · Zasláno: 12. 4. 2012, 18:32:10 · Upravil/a: sql
Jeste se vracim k nasledujicimu dotazu o pevne nadefinovanem setrideni.
Potreboval bych to vylepsi s tim, ze polozka 'kraj' nebude pevne 2mistna, ale muze tam byt PH, PH03, PH10, atd.. tzn. PH* Prosim jak to lze upravit, dekuji za pomoc Uz vim: WHEN kraj LIKE 'PH%' THEN 1 |
||
Časová prodleva: 11 let
|
0