从 MYSQL 中的 2 个表查询

Query from 2 tables in MYSQL

我在 MySQL 中有两个 table:

Table 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

Table 2

Input_Date        Code
2015-04-10        123
2015-04-22        456
2015-04-25        123
2015-04-26        123
  1. 我使用此查询 select 基于当前日期的当前周:

    SELECT Weektable_1 哪里(现在()在 FromUntil 之间)

  2. 我需要 select "code" 并从 table 2 开始计算,其中 "Code" = 123 和 "Input_Date" 对应当前 "Week".

*如果当前日期是 2015-04-23,则 "Week" 将是 = 4

结果将是:

Week   Code  Count
 4     123     2

不用 LEFT JOIN 做同样事情的替代方法

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

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