Autor | Zpráva | ||
---|---|---|---|
Vanama Profil |
#1 · Zasláno: 5. 3. 2010, 12:34:35
Ahoj, chtěl bych vyjet poslední aktivitu ze dvou tabulek podle času sestupně, ale seřadit to z těch dvou údajů jako jedno primární řazení, jestli to je možné.
Mám tabulku chess_game, v ní pole start a tabulku chess_move, v ní pole entered. Potřebuju tyhle dvě pole nějak zkloubit a seřadit. Děkuji za odpověď |
||
Vanama Profil |
#2 · Zasláno: 5. 3. 2010, 13:06:53
Aha, tak jsem zjistil, že by to šlo spojit pomocí UNION, problém ale asi bude v tom, že ten dotaz je docela složitej a cpát do něj ještě tohle, no nevím.
SELECT g.game_id, g.start, g.white_user_id, g.black_user_id, g.notify_white, g.notify_black, uw.username white_username, ub.username black_username, uw.email white_email, ub.email black_email, g.result, g.complete, g.draw_offered, g.comment, g.discuss_url, MAX( m.move_no + m.color /10 ) move_and_color, MAX( m.move_no ) last_move_no, ( ( MAX( m.move_no + m.color /10 ) - MAX( m.move_no ) ) *10 )last_move_color, COALESCE( COUNT( m.move_no ) , 0 ) total_no_moves, MAX( m.entered ) last_move FROM ( jos_chess_game g LEFT JOIN jos_users uw ON g.white_user_id = uw.id LEFT JOIN jos_users ub ON g.black_user_id = ub.id ) LEFT JOIN jos_chess_move m ON g.game_id = m.game_id GROUP BY g.game_id, g.start, g.white_user_id, g.black_user_id, uw.username, ub.username, g.result, g.comment, g.discuss_url, g.complete, g.draw_offered ORDER BY last_move DESC , g.start ASC LIMIT 0 , 30 |
||
Časová prodleva: 14 let
|
0