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

标签 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 ;

我的问题是,我可以加入这个 select inside update 查询吗?因为我在 php 中使用多查询有问题?

这个查询更新状态列看我的表

------------------------------------------
  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 形成我的案例, 从选择中更新

最佳答案

将第一个查询用作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);

关于mysql - 我想从 mysql 加入两个查询,通过选择更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42408655/

相关文章:

php - 需要添加功能

MySql 用输入字符串中的 "/"替换方法

php - 部分 JOIN 参数的 MYSQL 用例

php - 使用 php mysql 和 jquery 显示数据库动态内容

c# - 将 [图像] 保存并截图到数据库

php - 使用 MySQL PHP + AJAX 存储日期和时间的最佳方式

php - Cakephp 是容器还是树?

php - 从 PHP (5.3.6-8) 访问 MySQL (5.5.17) 时出现 "getaddrinfo failed..."错误

mysql - 在一个别名中选择具有两个条件的计数

php - MySQL:使用联合检查两列是否包含彼此的值?