php - MYSQL中的2个表的查询

标签 php mysql phpmyadmin

我在 MySQL 中有两个表:

表1

Week    From         Until
1    2015-04-01    2015-04-07
2    2015-04-08    2015-04-14
3    2015-04-15    2015-04-21
4    2015-04-22    2015-04-28

表2

Input_Date        Code
2015-04-10        123
2015-04-22        456
2015-04-25        123
2015-04-26        123
  1. 我使用此查询根据当前日期选择当前星期:

    Week WHERE(NOW() BETWEEN table_1From 之间)中选择 Until

  2. 我需要选择“代码”并从表 2 中对其进行计数,其中“Code”= 123 并且“Input_Date”对应于当前“周”。

*如果当前日期是 2015-04-23,“周”将为 = 4

结果将是:

Week   Code  Count
 4     123     2

最佳答案

尝试-

SELECT t1.Week, t2.Code, COUNT(*) 
FROM table_1 t1 
LEFT JOIN table_2 t2
ON t2.Input_Date BETWEEN t1.From AND t1.Until
WHERE (NOW() BETWEEN t1.From AND t1.Until) 
AND t2.Code = 123

http://sqlfiddle.com/#!9/3d2a6/16

关于php - MYSQL中的2个表的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29641390/

相关文章:

javascript - 如何使用 Zend Framework 和 netbeans 编写 JavaScript?

php - 如何仅使用非空用户输入字段更新 MySQL 数据库

mysql - phpmyadmin/MySQL 时间事件

phpmyadmin 服务器连接 localhost/login.php 未发布任何内容

c# - 在 phpmyadmin : "Access denied for user ' root' @'name_of_computer' "from c# applications 中重新创建用户后

php - 使用以下数据库布局在 mysql 中创建 View 的最佳方法是什么?

php - Prototype.js 干扰 Javascript

php - 如何返回基于日期和随机的颜色值?

mysql - mariadb 中日期时间的默认值

mysql - 使用 Coldfusion 将文件保存在 MySQL 中