第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我不想把group by air_ticket.TOUR_CODE加上,有什么辦法沒有?

我不想把group by air_ticket.TOUR_CODE加上,有什么辦法沒有?

紅糖糍粑 2023-04-08 22:18:24
我現(xiàn)在有一張表AIR_TICKET其中有個字段TOUR_CODE是nvarchar 類型,我現(xiàn)在想把當(dāng)其中的存放的是數(shù)值時就和這個表中的TICKET_PRICE做乘法計算,否則就為0,我現(xiàn)在寫了個sql 覺得沒有問題,但是一執(zhí)行就報“從數(shù)據(jù)類型 nvarchar 轉(zhuǎn)換為 numeric 時出錯?!边@是為什么啊,請指教還有為什么非得加上group by air_ticket.TOUR_CODE不加就報 “選擇列表中的列 'air_ticket.TOUR_CODE' 無效,因為該列沒有包含在聚合函數(shù)或 GROUP BY 子句中?!?nbsp;下面是我寫的sql 語句 select case when isnumeric(AIR_TICKET.TOUR_CODE)=1 then sum(AIR_TICKET.TICKET_PRICE*(convert(numeric,AIR_TICKET.TOUR_CODE))) else 0 end  as Z_VALUE_REWARD from air_ticket group by air_ticket.TOUR_CODE 
查看完整描述

2 回答

?
慕哥9229398

TA貢獻1877條經(jīng)驗 獲得超6個贊

1.conver函數(shù)這么寫看看:CONVERT(INT, AIR_TICKET.TOUR_CODE) 

2.如果在select 列表項中除了包含聚合函數(shù)外,還包含了表的某些列,那么你必須使用group by語句, 
你sql中使用了聚合函數(shù),因為你isnumeric(AIR_TICKET.TOUR_CODE)含有AIR_TICKET.TOUR_CODE字段,所以需要加group by,否則報錯。 

按照我的理解,你的sql應(yīng)該是這樣的: 

SELECT SUM(CASE  

                WHEN isnumeric(AIR_TICKET.TOUR_CODE) = 1 THEN  

                 AIR_TICKET.TICKET_PRICE * (CONVERT(INT, AIR_TICKET.TOUR_CODE))  

                ELSE  

                 0  

            END) AS Z_VALUE_REWARD  

  FROM air_ticket  


查看完整回答
反對 回復(fù) 2023-04-12
?
倚天杖

TA貢獻1828條經(jīng)驗 獲得超3個贊

你不加在group by里面,那你加上聚合函數(shù)吧,比如max(xxxxxxxx)

查看完整回答
反對 回復(fù) 2023-04-12
  • 2 回答
  • 0 關(guān)注
  • 232 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號