私は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
しかし、私のクエリはいくつかの追加の値を提供します。私の質問は
ここで何が間違っていますか?
なぜ余分な値が来るのですか?
これを行うより良い方法はありますか?
どんな助けでも大歓迎です..