iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
自我挑戰組

資料庫二年級:練習AdventureWorks範例資料庫系列 第 19

[第十九天]應用題第三題:ISNULL

  • 分享至 

  • xImage
  •  

昨天我們解析了匿名消費者的相關資訊,
今天我們來看看週年慶前我的工作內容吧!

第三題:具名消費金額最高的前100名貴賓姓名

這個簡單,
昨天選匿名是"WHERE BusinessEntityID IS NULL",
那今天具名不就是"WHERE BusinessEntityID IS NOT NULL",
再加上"TOP 100",
太容易了吧~
(這題的話,這樣也是可以啦~)

  SELECT TOP 100 * 
  FROM [Person].[Person] P
  full join @tempTable T ON T.cID = P.BusinessEntityID
  WHERE BusinessEntityID IS NOT NULL
  ORDER BY totalSpent DESC

https://ithelp.ithome.com.tw/upload/images/20220911/20152049hnKqSdknbB.jpg

正洋洋得意準備送出交差,
才發現有這個黃黃的NULL來攪局,
要一個一個修改嗎?

我想要空字串,卻遇到NULL

千萬別自己手動改,
語法有辦法解決,
何須勞煩手指呢。

--ISNULL格式
SELECT ISNULL(欄位名,'想替代NULL的值') FROM [Table名]

我們來試試看:

SELECT TOP 100 
	ISNULL(FirstName,'') FirstName
	,ISNULL(MiddleName,'') MiddleName
	,ISNULL(LastName,'') LastName
	,*
FROM [Person].[Person] P
full join @tempTable T ON T.cID = P.BusinessEntityID
WHERE BusinessEntityID IS NOT NULL
ORDER BY totalSpent DESC

NULL被取代以後的結果就會是:
https://ithelp.ithome.com.tw/upload/images/20220917/20152049Dn0rMTtxWb.jpg

找出了FirstName、MiddleName和LastName後,
改怎麼把這些資料組成報表呢?
又要勞煩手指了嗎?
不!
電腦能做的,
是絕不會勞煩指頭的,
明天一起來揭曉吧!


上一篇
[第十八天]辣個應用題
下一篇
[第二十天]必先利其器的好用工具:Excel
系列文
資料庫二年級:練習AdventureWorks範例資料庫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言