【发布时间】:2018-02-01 22:15:41
【问题描述】:
以下是表格
表 1
price col1 col2 time
10 1 1 10
100 1 1 13
150 1 1 15
表 2
id startTm endTm col1 col2
1 12 20 1 1
2 15 26 1 1
3 11 13 1 1
我希望表 2 中的所有行都满足 startTm >= x 和 endTm
类似的东西-
SELECT (@sTime:=T2.startTm) AS startTm,JT.totalNo, JT.totalPrice,
(@eTime:=T2.endTm) AS endTm
some more columns FROM table 2 AS T2
LEFT JOIN (SELECT COUNT(id) AS totalNo,col1, col2 SUM(price) AS
totalPrice FROM table 1 WHERE time BETWEEN @sTime AND @eTime GROUP
BY col1, col2)
AS JT ON JT.col1 = T2.col1
WHERE T2.startTm >= some value AND T2.endTm <= some value.
没有相关的外键。我没有得到正确的结果。是怎么做到的?
编辑
我想要指定时间范围内表 2 中的所有记录假设 startTm >= 10 到 endTm
startTm endTm totalNo totalPrice some more col
12 20 2 250 ...
11 13 1 100 ...
要计算总价格和总数,我要考虑该特定行的 startTm 和 endTime。
【问题讨论】: