Autor | Zpráva | ||
---|---|---|---|
r0me0 Profil |
#1 · Zasláno: 7. 8. 2008, 09:29:46
Ahoj, mám dvě tabulky tab_zavody a tab_vztahy. Do vztahů ukládám návaznosti mezi články, šampionáty, závody atd.... a tímhle dotazem chci vybrat všechny závody, které jsou přiřazené k určitému šampionátu:
mysql_query("SELECT tab_vztahy.vz_zavod FROM (tab_vztahy,tab_zavody) WHERE vz_sampionat = '$nazev' AND vz_zavod IS NOT NULL GROUP BY tab_vztahy.vz_zavod ORDER BY tab_zavody.zav_zacatek ASC "); což funguje, ale potom to chci seřadit podle zav_zacatek což je datetime, ale to mi nefunguje. I když jsem měnil ASC, DESC, vůbec nic se nezměnilo, nevím , kde je chyba. Proradí někdo? Díky. |
||
Taps Profil |
#2 · Zasláno: 7. 8. 2008, 10:07:20
zkus za to hodit mysql_error() a uvidíš co ti to vypíše
|
||
r0me0 Profil |
#3 · Zasláno: 7. 8. 2008, 10:22:02
Taps
já ho tam mám, nevypisuje mi nic, ty data se mi vypíšou, ale nejsou seřazeny podle datumu. |
||
Taps Profil |
#4 · Zasláno: 7. 8. 2008, 11:44:20
r0me0
napiš sem strukturu těch tabulek |
||
Alphard Profil |
#5 · Zasláno: 7. 8. 2008, 11:46:16
je sloupec tab_zavody.zav_zacatek dobře vyplněný? zkuste ho zahrnout do výběru a zkontrolujte data
|
||
Kajman_ Profil * |
#6 · Zasláno: 7. 8. 2008, 12:21:24
r0me0
Když dáte group by vz_zavod, tak se spojí hodně zav_zacatek do kupy. MySQL vezme náhodně jeden z nich. Správně by tam mělo být něco na způsob order by min(zav_zacatek) |
||
r0me0 Profil |
#7 · Zasláno: 7. 8. 2008, 12:42:57
Alphard
ve sloupci mám data typu datetime, takže 2007-01-01 12:00:00, 2007-11-16 20:00:00,2007-12-15 16:00:00 Kajman_ zkusil jsem tam přidat to min() , ale žádná změna, i tak děkuju za pomoc... budu nad tím muset ještě zadumat |
||
Kajman_ Profil * |
#8 · Zasláno: 7. 8. 2008, 13:21:38
Nevím, jestli chcete min... prostě si musíte uvědomit, že máte group by vz_zavod, takže datumů k jednomu řádku můžete mít víc a podle víc datumů se řadit nedá. Můžete zkusit řadit podle nejmenšího, největšího. Záleží, co chcete.
|
||
Časová prodleva: 16 let
|
0