我想从mysql加入两个查询,通过select更新?

时间:2017-02-23 06:35:59

标签: mysql

SELECT @mynumber := number
FROM tqueue
WHERE STATUS =  '4'
 AND get_ticket >= CURDATE( ) 
AND get_ticket < DATE_ADD( CURDATE( ) , INTERVAL 1 
DAY ) 
GROUP BY services
ORDER BY nomor ASC; 

UPDATE tqueue SET STATUS =  '8' WHERE number = @mynumber ;

我的问题是,我可以加入此选择内部更新查询吗?因为我在php中使用multiquery有问题吗?

此查询更新状态列查看我的表

------------------------------------------
  number    |   status     |   get_ticket
------------------------------------------
    4              4          17:58:00 
    3              4          16:00:00
    2              4          13:05:13
    1              8          12:05:34

使用该查询我可以更改最小数量,将从4更改为8状态,当我再次更新时,状态4的数字2将更改为8,再次更新数字3到8状态并将继续这样,或者如果你有PHP代码,你可以给我一些PHP形式的示例代码,从select

更新

1 个答案:

答案 0 :(得分:0)

subquery条件使用where作为第一个查询。

UPDATE tqueue SET STATUS =  '8' WHERE number =(SELECT number
FROM tqueue
WHERE STATUS =  '4'
 AND get_ticket >= CURDATE( ) 
AND get_ticket < DATE_ADD( CURDATE( ) , INTERVAL 1 
DAY ) 
GROUP BY services
ORDER BY nomor ASC);