頁:
[1]
麻煩各位幫個忙 關於 SQL 計算價錢語法問題
本帖最後由 asdfg0205 於 2018-5-26 03:14 PM 編輯不好意思 這是 目前我這個資料表的定義!
因為我想讓 單價 *數量 的出一個新的欄位 總額!
select *,單價*數量 AS '單項總額' from 資料表
得出 單項總額後 如何讓 資料定義那邊 真的自己增加一個 單項總額欄位給他放數字呢?
因為 只有新增查詢 那邊看的到結果
我想要把單項總額 通通在相加 變成 這整個的總金額
select *,sum(單項總額) AS '全部加總' from 資料表 (但他說要用群組 )
但 我只需要一格而已 (我用EXCEL來表達一下 (類似下圖))
還有個問題~ 下圖
關於 新增查詢
select * from 資料表
請問 我沒買鉛筆盒 我要列印明細 但是 鉛筆盒 NULL 如何排除 不顯示
where後面 該怎麼弄呢?
是用限制條件 where 數量 =null 這樣的概念嗎? (我語法不對~ )
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> 1.您可以使用update的方式操作,先手動新增一個總金額欄位,再輸入 UPDATE table SET total = 單價*數量 where id = 1
2.排除鉛筆盒,where 數量 is not null ,這樣才是排除 您好
關於問題一(單項總額)
資料表在設計時,通常不會這樣設計,會有資料不一致的風險,再者也多浪費儲存空間
就好比生日已代表星座,故不需要再多開欄位存放星座的資料
另外是資料修改時若發生未同時修改星座時,就會遭遇生日與星座對不起來的風險
不過針對您的需求提供以下方法
一、建立觸發程序(Trigger),如遭遇新增、修改單項或數量時,則一併更新單項總額,避免資料不一致
二、印象某一版本 MSSQL 後有此功能,我找找資料再補充
※※※※※
關於問題二(總金額)
如果堅持在您所提出的位置(鉛筆那列的最右)
SELECT [品項], [單價], [數量], [單價] * [數量] AS [單項總額], (
SELECT CASE ([品項])
WHEN '鉛筆' THEN (SELECT SUM([單價] * [數量]) FROM [訂單])
ELSE NULL
END) AS [總金額] FROM [訂單]
如果未堅持
SELECT [品項], [單價], [數量], [單價] * [數量] AS [單項總額] FROM [訂單]
UNION
SELECT NULL AS [品項], NULL AS [單價], NULL AS [數量], (SELECT SUM([單價] * [數量]) FROM [訂單]) AS [單項總額]
但如果您最終是輸出至 EXCEL 上的話,則建議「總金額」這件事可以交給 EXCEL 的函示去處理,不一定要在 SQL 上處理
※※※※※
關於問題三(排除 NULL 金額資料列)
同前面大大所回覆,使用 WHERE [數量] IS NOT NULL 即可排除問題
※※※※※
以上,希望有解決您的問題
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div> linshangru 發表於 2018-7-8 11:37 AM static/image/common/back.gif
您好
關於問題一(單項總額)
計算資料行規格,SQL Server 2016 版後才有
頁:
[1]