我有2个表,一个存储用户点,另一个存储用户已购买的产品。在SELECT语句中将SQL Server中的数据类型nvarchar转换为bigint时出错
我一直在试图找出用户拥有的网点。所以,从另一个中扣除一个我试过这两个查询都似乎有问题。
我已经写了一个SQL查询来发现差异,但有关于类型转换错误
select sum(point)
from UserPoints
where Userid = (select id
from AspNEtusers
where username ='1-V2-4128')
-
(
select sum(o.quantity*o.pointperitem) as Total
from AspNetusers as A
inner join
MyOrders as M
inner join OrderedProducts as O
on O.Orderid = M.id
on M.Userid= A.id
where A.username='1-V2-4128'
)
错误抛出:
错误转换数据类型为nvarchar为bigint
然后我试了
select
sum(point)
from
UserPoints
where
Userid = (select id
from AspNEtusers
where username ='1-V2-4128')
- convert(
bigint(50),
(
select sum(o.quantity*o.pointperitem) as Total from AspNetusers as A inner join MyOrders as M inner join OrderedProducts as O
on O.Orderid = M.id
on M.Userid= A.id
where A.username='1-V2-4128')
)
会发生错误是
CAST或CONVERT:为类型“BIGINT”
哪些类型point'的','数量“和”pointperitem“? –
你的查询毫无意义。你为什么从用户ID中减去'Total'? –
问题没有包括足够的信息来回答 –