从 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
我使用此查询 select 基于当前日期的当前周:
SELECT Week
从 table_1
哪里(现在()在 From
和 Until
之间)
我需要 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
我在 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
我使用此查询 select 基于当前日期的当前周:
SELECT
Week
从table_1
哪里(现在()在From
和Until
之间)我需要 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