Autor | Zpráva | ||
---|---|---|---|
Kcko Profil |
#1 · Zasláno: 8. 12. 2007, 17:59:07
function recountTable($soutezID) {
$counter = db::query("SET @poradi = 0"); $sql = ( "UPDATE kurzy_tabulka SET poradi = @poradi:=@poradi +1 WHERE soutezID = $soutezID ORDER BY kredit DESC, (otevrene_tikety + uzavrene_tikety) DESC, uzavrene_tikety DESC, otevrene_tikety DESC, tiper ASC " ); $sql = db::query($sql); return true; } Cau Kajmane, Tento skript mam od tebe, resp tu featuru s promennou a ocislovanim radku. Jenze bych potreboval misto tiper ASC coz je vlastne ID tipera, dat TiperovaPrezdivka ASC. Ale abych tento sloucec dostal musel bych aplikovat JOIN na dalsi tabulku coz v tomto pripade u prikazu UPDATE nejde. Nebo jde? Me to haze stale chybu ze to neni mozne, dalo by se to nejak? Dik |
||
Kajman_ Profil * |
#2 · Zasláno: 9. 12. 2007, 18:29:34
mělo by to jít pomocí
update kurzy_tabulka k left join prezdivky p on k.tiper=p.tiperovaprezdivka set k.poradi.... |
||
Kcko Profil |
#3 · Zasláno: 10. 12. 2007, 00:14:09
Takhle jsem to samozrejme zkousel, bohuzel
SET @poradi = 0; UPDATE kurzy_tabulka LEFT JOIN hraci ON kurzy_tabulka.tiper = hraci.id SET poradi = @poradi:=@poradi +1 WHERE soutezID = 1 ORDER BY kredit DESC, (otevrene_tikety + uzavrene_tikety) DESC, uzavrene_tikety DESC, otevrene_tikety DESC, h.prezdivka ASC; CHYBA: -> Incorrect usage of UPDATE and ORDER BY Tak mam asi smulu bohuzel |
||
Kajman_ Profil * |
#4 · Zasláno: 10. 12. 2007, 09:24:50
Aha, koukám, že při více tabulkách tam opravdu order by není implementováno...
http://dev.mysql.com/doc/refman/5.0/en/update.html Tak nevím, asi bych to holt nedával podle přezdívky... stejně by to lidi lákalo, aby si dělali aaanicky :-) |
||
Kcko Profil |
#5 · Zasláno: 10. 12. 2007, 11:39:12
:D
|
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0