Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 6 Dołączył: 19.12.2010 Skąd: Krzyżanowice Ostrzeżenie: (0%)
|
Witam, wie ktoś może, jak napisać coś takiego w Zendzie:
SELECT @pos:=@pos+1, id, table_pkt FROM `user`, (select @pos:=0) p WHERE league_id=2 order by points desc (chodzi o dodatkową kolumnę, która numeruje rekordy) Próbowałem z joinCross: $select->joinCross('(select @pos:=0) p'); ale coś nie idzie.... Pozdrawiam Janusz |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 6 Dołączył: 19.12.2010 Skąd: Krzyżanowice Ostrzeżenie: (0%)
|
W przykładzie, który podałeś, robią 2 query (inicjowanie zmiennej i użycie zmiennej w selekcie)
$adapter->query("SET @pos = 0 .... "); 95 96 $adapter->query($sql); 97 nie wiem, czy to jest bezpieczne w sensie transakcyjności. Ja zrobiłem w jednym select, tyle, że to jest nie tak eleganckie, jakbym chciał. $sql= "SELECT @pos:=@pos+1 position, id FROM section_user, (select @pos:=0) p WHERE league_id=? order by table_pkt desc, (table_pktwin - table_pktlost) DESC, table_w DESC, table_d DESC,table_l return $this->getAdapter()->fetchAll($sql, $leagueId); Ten post edytował Janusz1200 29.03.2012, 16:57:12 |
|
|
|
Janusz1200 [ZF][Zend db_select]Ranking rekordów 29.03.2012, 14:39:43
viking Opakować w Zend_Db_Expr. Przykład http://php.r3dco... 29.03.2012, 15:08:05
Pilsener A jak byś chciał?
[PHP] pobierz, plaintext $select... 30.03.2012, 08:58:47
Janusz1200 Cytat(Pilsener @ 30.03.2012, 09:58:47... 30.03.2012, 11:23:18 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 21:13 |