SELECT top 25 id=IDENTITY(int,1,1),* INTO #tmp FROM ReadNow where MeterID = 8 and ReadDate LIKE'%:01:%'order by ReadDate desc
SELECT ReadNumber=ISNULL(ReadNumber-(SELECT TOP 1 ReadNumber FROM #tmp
WHERE id = A.id+1 ORDER BY id DESC),0)
FROM #tmp AS A;
想把计算得到的数保留两位小数 同时还是float格式的
这个该怎么做
还有 对这个临时表不太了解
SELECT ReadNumber=ISNULL(ReadNumber-(SELECT TOP 1 ReadNumber FROM #tmp
WHERE id = A.id+1 ORDER BY id DESC),0)
FROM #tmp AS A;
想把计算得到的数保留两位小数 同时还是float格式的
这个该怎么做
还有 对这个临时表不太了解
*
INTO #tmp
FROM ReadNow
WHERE MeterID = 8
AND ReadDate LIKE'%:01:%'
ORDER BY ReadDate DESCSELECT ReadNumber=cast(Isnull(ReadNumber - (SELECT TOP 1 ReadNumber
FROM #tmp
WHERE id = A.id + 1
ORDER BY id DESC), 0) as decimal(18,2)
FROM #tmp AS A;
我一开始也是这样写的 但是一直无法通过
老是报错 在关键字 'FROM' 附近有语法错误。
SELECT TOP 25 id=IDENTITY(int, 1, 1),
*
INTO #tmp
FROM ReadNow
WHERE MeterID = 8
AND ReadDate LIKE'%:01:%'
ORDER BY ReadDate DESCSELECT ReadNumber=cast(Isnull(ReadNumber - (SELECT TOP 1 ReadNumber
FROM #tmp
WHERE id = A.id + 1
ORDER BY id DESC), 0) as decimal(18,2))---这里少加了一个右括号
FROM #tmp AS A;
*
INTO #tmp
FROM ReadNow
WHERE MeterID = 8
AND ReadDate LIKE'%:01:%'
ORDER BY ReadDate DESCSELECT ReadNumber=cast(Isnull(ReadNumber - (SELECT TOP 1 ReadNumber
FROM #tmp
WHERE id = A.id + 1
ORDER BY id DESC), 0) as decimal(18,2))---这里少加了一个右括号
FROM #tmp AS A;
加了还是不对 多了一个括号