我正在使用 mySql 5.1。我遇到了麻烦。下面的查询运行良好。我想用数据库中相对于相应 SID 的值替换常量值 100。但我不知道该怎么做。
INSERT INTO ResultTable(SID,Date,Result)
SELECT SID,DATE(`Time`),(MAX(SValue)-MIN(SValue))* 100
FROM table1
GROUP BY Date(`Time`),SID;
Table 1
------------------------------------------
SID Time SValue
------------------------------------------
7 2013-05-06 12:06:17 5668
8 2013-04-10 16:17:49 11434.9
8 2013-04-10 16:18:54 11435.5
7 2013-04-10 16:21:04 11436.8
7 2013-04-10 16:22:09 11437.4
8 2013-04-10 16:25:24 11439.2
Table2
---------------------
SID EValue
---------------------
7 10
8 100
Result Table
------------------------------------------
SID Date Result
------------------------------------------
7 2013-05-06 56680
8 2013-04-10 1143490
8 2013-04-10 1143550
7 2013-04-10 114368
7 2013-04-10 114374
8 2013-04-10 1143920
现有查询:
SELECT SID,DATE(`Time`),(MAX(SValue)-MIN(SValue))* 100
FROM table1
GROUP BY Date(`Time`),SID;
我的查询:
select (h1.EValue * ss.SValue) AS Emission
from Table2 h1
inner join (
select SID, (MAX(SValue)-MIN(SValue)) AS SValue
from Table1
group by Date(`Time`), SID
) ss on h1.SID = ss.SID
但是我的查询给出了一些额外的值。我的问题是
我在这里做错了什么?
为什么会有额外的价值?
有没有更好的方法来做到这一点?
任何帮助将不胜感激..