我有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'? –
問題沒有包括足夠的信息來回答 –