Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从MYSQL中的2个表进行查询_Php_Mysql_Phpmyadmin - Fatal编程技术网

Php 从MYSQL中的2个表进行查询

Php 从MYSQL中的2个表进行查询,php,mysql,phpmyadmin,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

我在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
    中选择
    ,其中(现在()介于
    之间)

  • 我需要选择“代码”并从表2中计算,其中“代码”=123,“输入日期”对应于当前的“周”

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

    结果将是:

    Week   Code  Count
     4     123     2
    

    不使用左连接执行相同操作的替代方法

    SELECT a.week, b.code, count(a.week) 
    FROM table_1 a, table_2 b
    WHERE (b.input_date BETWEEN a.from AND a.until)
    AND (NOW() BETWEEN a.From AND a.Until)
    AND b.code = 123
    
    试一试-

    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