2011-06-02 25 views
1

我正在开发自动出价系统,有一个棘手的情况。也就是说,我希望选择下一台机器在每次执行代码时从“table_machine”投标。 这意味着,我正在从活动(状态= 1)的机器中选择出价竞标。Mysql为每次执行选择切换行

execution 1 bidz from mid 1 
execution 2 bidz from mid 2 
....... 
execution 4 bidz from mid 4 
execution 5 bidz from mid 1 

执行1后,如果在现场,然后机器投标者2 bidz应该negleate 2月中及其应申办MID3

我有两个表

table_bid_history

history_id user_id  product_id   price  type 
1    1    1    10   live   
2    2    1    10.5  live 
3    1    1    11   machine  
4    2    1    11.5  machine  
5    3    1    12   machine    
6    4    1    12.5  machine  
7    1    1    13   machine 

table_machine

mid  user_id   product_id start  end  num_bidz status    
1   1    1    8   12  5  1 
2   2    1   10   15  15  1 
3   3    1   11   16  10  1 
4   4    1   11   16  10  1 

我该如何做到这一点,我觉得这很棘手但是必须有办法做到这一点。请给我想法。 请指教!由于

回答

0

如果我理解正确,你可以这样做: 您machine_table创建一个新的假现场,并把它命名为lastSelect,并在您使用WHERE子句是这样的:

SELECT FROM ............. 
    LEFT JOIN table_machine tm ON tm.lastSelect=1 
WHERE id = IF(tm.id=MAX(tm.id),1,tm.id) 

然后更新table_machine当前lastSelect到1