iT邦幫忙

0

MSSQL 每列欄位可以塞資料嗎?

XYZ 2022-01-12 17:30:221166 瀏覽
  • 分享至 

  • xImage

大家好,
在資料庫select 結果如下圖一,有辦法塞資料變成下圖二嗎?
https://ithelp.ithome.com.tw/upload/images/20220112/20108157X6IP8rvinv.jpg

https://ithelp.ithome.com.tw/upload/images/20220112/20108157R4hXo1sm7b.jpg

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
純真的人
iT邦大師 1 級 ‧ 2022-01-12 17:39:44
最佳解答

資料表交乘~

declare @ta table(
	單位代號 nvarchar(50)
)
insert into @ta
values('123')
,('111')

declare @tb table(
	項次 nvarchar(50)
	,階級 nvarchar(50)
)
insert into @tb
values('001','一級主管')
,('002','一級主管')

select *
from @ta,@tb

https://ithelp.ithome.com.tw/upload/images/20220112/2006136985dHYGtEj6.png

XYZ iT邦新手 4 級 ‧ 2022-01-13 11:17:41 檢舉

您好,
謝謝您提供解決方法,但不好意思我沒表達清楚我的需求,因為單位代號有很多資料,上圖二沒有要輸入單位代號可以用join或其他方式和上圖一連接資料嗎?

我用下面的方式,出現錯誤訊息, 不知該如何改?
https://ithelp.ithome.com.tw/upload/images/20220113/20108157afedAIj5UC.jpg

宣告資料表示另外放唷
left join是要對應資料的~
但資料表交乘是用逗號去增加資料量~
參考

declare @tb table(
	項次 nvarchar(50)
	,階級 nvarchar(50)
)
insert into @tb
values('001','一級主管')
,('002','一級主管')

select *
from [test].[dbo].[dep] a
,@tb

0
Samuel
iT邦好手 1 級 ‧ 2022-01-13 14:21:42

可以將邏輯直接用 T-SQL 來實踐
用資料表變數或是暫存表把邏輯分開分階段處理

T-SQL筆記7_單(雙)井字號_暫存Table與@資料表變數的使用
https://coolmandiary.blogspot.com/2020/09/t-sql7table.html

我要發表回答

立即登入回答