久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

編寫 SQL 查詢以將表從 A 轉(zhuǎn)換為 B

Write a SQL query to convert table from A to B(編寫 SQL 查詢以將表從 A 轉(zhuǎn)換為 B)
本文介紹了編寫 SQL 查詢以將表從 A 轉(zhuǎn)換為 B的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

限時(shí)送ChatGPT賬號(hào)..

在 SQL Server 2016 中,我有一個(gè)數(shù)據(jù)庫表(表 A)如下所示:

I have a database table (table A) looks like this, in SQL Server 2016:

表A:

ID     Group       2018     2019    2020
-----------------------------------------
ID1    Group A      200      300     400
ID2    Group B      100      800     ---
ID2    Group B      ----     500     300

我想編寫一個(gè) SQL 查詢或類似的東西或報(bào)告工具來生成報(bào)告/表(將表 A 轉(zhuǎn)換為表 B),如下所示:

I want to write a SQL query or something like that or a reporting tool to generate a report/table (convert table A to table B) as below:

表 B:

ID       Group   -   Year  -      Value
----------------------------------------
ID1      Group A     2018         200
ID1      Group A     2019         300
ID1      Group A     2020         400
ID2      Group B     2018         100
ID2      Group B     2019         800
ID2      Group B     2019         500
ID2      Group B     2020         300

如果可以通過編寫 SQL 查詢來實(shí)現(xiàn),那就太好了.如果需要使用編程語言編寫程序,或者使用工具,也可以,但請(qǐng)告訴我使用什么以及如何實(shí)現(xiàn)(我知道一些C#編程).

If it can be achieved by writing a SQL query that would be great. If that it needs to use a programming language to write a program, or use a tool, that will also be OK but please let me know what to use and how to achieve (I know some C# programming).

(我知道我不應(yīng)該使用 ID 和 Group 作為列名.我不會(huì)在數(shù)據(jù)庫表中真正使用那個(gè)名稱,只是為了簡(jiǎn)化這里的問題)

(I know I should not use ID and Group as the column name. I will not really use that name in the database table, just to simplify the question here)

有人可以幫忙嗎?非常感謝!

Anyone can help? Thank you very much!

推薦答案

使用union all的規(guī)范方法:

select id, group, 2018 as year, "2018" from t
union all
select id, group, 2019 as year, "2019" from t
union all
select id, group, 2020 as year, "2018" from t;

不過,在SQL Server中,我強(qiáng)烈推薦apply:

However, in SQL Server, I strongly recommend apply:

select t.id, t.group, v.*
from t cross apply
     (values (2018, [2018]), (2019, [2019]), (2020, [2020])
     ) v(year, value)
where v.value is not null;

這篇關(guān)于編寫 SQL 查詢以將表從 A 轉(zhuǎn)換為 B的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

What SQL Server Datatype Should I Use To Store A Byte[](我應(yīng)該使用什么 SQL Server 數(shù)據(jù)類型來存儲(chǔ)字節(jié) [])
Interpreting type codes in sys.objects in SQL Server(解釋 SQL Server 中 sys.objects 中的類型代碼)
Typeorm Does not return all data(Typeorm 不返回所有數(shù)據(jù))
Typeorm .loadRelationCountAndMap returns zeros(Typeorm .loadRelationCountAndMap 返回零)
How to convert #39;2016-07-01 01:12:22 PM#39; to #39;2016-07-01 13:12:22#39; hour format?(如何將“2016-07-01 01:12:22 PM轉(zhuǎn)換為“2016-07-01 13:12:22小時(shí)格式?)
MS SQL: Should ISDATE() Return quot;1quot; when Cannot Cast as Date?(MS SQL:ISDATE() 是否應(yīng)該返回“1?什么時(shí)候不能投射為日期?)
主站蜘蛛池模板: av在线视| 色综合婷婷 | 精产国产伦理一二三区 | 免费一级片 | 午夜影院黄| 在线日韩视频 | 一级黄色片视频 | 日本一级淫片色费放 | 久久精品国产成人av | 自拍偷拍福利视频 | 日本在线观看网站 | 国产精品不卡视频 | 中文字幕日韩高清 | 日韩 国产 欧美 | 午夜影院黄| 国产色在线 | 国产午夜视频 | 能看的毛片 | 日日夜夜狠狠干 | 欧美日韩免费看 | 欧美在线视频免费观看 | 日韩视频网| 天天爽夜夜爽 | 免费观看全黄做爰视频 | 国产精品久久久久久久久久久久久久 | 免费成人深夜夜行网站 | 色爽视频| av一区二区三区 | 成人三级在线观看 | 欧美福利一区 | 免费看a级片 | 99热播 | 特大黑人巨交吊性xxxx视频 | 色网站在线观看 | 在线婷婷 | 天堂成人在线 | 一级片免费观看 | 亚洲第一伊人 | 黄色网址免费看 | 欧美日韩在线一区二区三区 | 国产欧美日韩在线 |