php - 使用 join 和两个 where 条件更新语句

标签 php mysql

这就是我需要更新的目的:

  • 使用用户编辑的 TIME 值更新我的汇总表 TIME 列
  • 比较新的 TIME,使用我的汇总表和 hour_interval 表中的 ID 连接表
  • 找到新 TIME 所在的正确行 ID(有两列包含开始时间和结束时间;示例为:开始列 - 04:00:00 结束列 06:00:00)
  • 使用汇总表 ID 用正确的间隔行 ID 更新汇总表

代码执行,但不更新间隔 ID。有什么建议吗?

UPDATE summary S  
JOIN hour_interval H  
ON S.hourinterval_id = H.hourinterval_id 
SET S.hourinterval_id = H.hourinterval_id 
WHERE ('$new_time' BETWEEN H.start_hour AND H.end_hour) 
AND summary_id = '$summary_id'"


hourinterval_id start_hour  end_hour
1               4:00:00 5:59:59
2               6:00:00 7:59:59
3               8:00:00 9:59:59
4              10:00:00 11:59:59
5              12:00:00 13:59:59
6              14:00:00 15:59:59
7              16:00:00 17:59:59
8              18:00:00 19:59:59

最佳答案

试试这个:

UPDATE summary S  
JOIN hour_interval H  
ON '$new_time' BETWEEN H.start_hour AND H.end_hour
SET S.hourinterval_id = H.hourinterval_id 
WHERE summary_id = '$summary_id'"

关于php - 使用 join 和两个 where 条件更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13382243/

相关文章:

PHP MySQL 选择多个条件

mysql - MySQL自动生成6位唯一编号

PHP MYSQL 更新语法错误

MySql - 创建 View 时出现问题

java - JTable 重复结果

php - 使用 (int) 和 (double) 一起截断小数时出错

php - 超过 100 个表的大规模 SQL 查询

必须安装/启用 PHP Fileinfo 扩展才能使用干预图像

php - 编码完成后测试PHP项目

mysql - 尝试在 MySQL 中创建 VIEW 时出错