1. 程式人生 > >行轉列--Excel和資料庫的完美結合

行轉列--Excel和資料庫的完美結合

    入職到現在已經有一段時間了,除了不斷完善新功能外,線上運維也是一項很重要的任務,每天都需要佔用一

定量的時間來處理,這時候怎樣高效準確的來解決這些問題是很值得考慮的。
 
    今天客服人員給我反饋了這樣一個線上問題,詳情見下圖:

    子表中以上員工code值在主表中找不到記錄。假設現在脫離實際環境,我們簡單的把這些員工的資訊從子表中刪

除,這樣一堆資料先思考一下你會怎麼進行處理呢疑問??

    下面分享一下我的解決方案。如果你有更好的想法,歡迎在下方評論中進行指教或郵件給我分享一下:

    這裡我僅以部分資料為例再現一下吧,簡單思路就是先利用excel表格進行行轉列操作,然後在SQL語句中用

IN做批處理。下面是具體操作過程:

1、複製以上員工code,貼上到excel表格A1中


2、點選選單欄[資料]——>[分列]

3、資料分列共3步,在第2步中設定分隔符號標準,這裡是“,”,注意中英格式,在資料預覽中可以看到分隔後的效

果圖。下一步完成。


分列後的員工code

4、複製資料行,在空白格內右擊滑鼠在彈出的快捷選單中找到--[選擇性貼上],在展開的內容中選擇[轉置]

行轉列後的效果圖:

5、到這裡還沒有結束哦,繼續看。在資料列的左右分別插入一行,注意:先輸入一個空格,然後英文格式下

“ '”,左右同理。

6、將上面的單元格資料複製到資料庫中,用[ctrl+H]全部替換掉'....'之間的空格,然後用IN做批量刪除。

DELETE TestA WHERE EmployeeCode IN (
'05c41401-0dc0-4690-bb00-848f2a99448b ',
'064149f7-202b-44b0-81ec-1b2c8e745082 ',
'0858876b-7222-4be8-8d4d-49b4f5dcaf7d ',
'0a7d458f-3344-4340-8b0e-04220aaececd ',
'0e0cea72-0156-40fe-82c6-a7cc36ae7c8f ',
'0fca3044-cc3f-48a6-a7b0-2474d4388ecc ',
'14521fa3-79c7-4c3b-bcd1-0dd814588665 ',
'15ebb333-a773-a1fd-41c2-46135933d1b9 ',
'1624b1f7-e03e-4b97-8b19-e38198cbb644 ',
'1685227e-0385-46ae-93b0-ea3031685e71 ',
'22ba9ec1-ca83-46be-a3ae-ef82f52ea3d8 ',
'2377bc30-1bb8-4126-a621-6f8ec2e9d8de '
) AND VersionEndTime IS NULL

    到這裡問題就解決完了。Excel和資料庫的結合使用,大大降低了我們的工作量。如果此時你有更好的想法或建

議,隨時歡迎來分享!

關鍵字:行轉列 批處理 大資料

--------------------------------------------思想總結--------------------------------------------------

    技術誠可貴,思想價更高。一個優秀的程式設計師,高效的開發不是靠時間堆砌出來的,思想上移行動下移,才會

在程式設計的道路上越走越遠,越爬越高。

相關推薦

--Excel資料庫完美結合

    入職到現在已經有一段時間了,除了不斷完善新功能外,線上運維也是一項很重要的任務,每天都需要佔用一 定量的時間來處理,這時候怎樣高效準確的來解決這些問題是很值得考慮的。       今天客服人

sql pivot(unpivot(轉行)的用法

sql clas 數據 sele core unp null col style 1、PIVOT用法(行轉列) select * from Table_Score as a pivot (sum(score) for a.name in ([語文],[數學],[外語],[

VBA 使用Excel資料庫

最近工作中有需求,要從Excel表中提取一些統計資訊,因為需求變動可能比較頻繁,所以用VBA來做了。除錯資料操作部分頗費周折,特記錄一下。 1.資料來源檔案:[D:\4月份統計表.xlsx]: 2.最終的統計表格式: 3.計算規則: 要求: A. 外觀等級A,且WLD

資料庫轉行小例子

有時候,我們想從另一個角度看一張表。這時候就會涉及行列的轉換。假如有一張成績表 mysql> select * from scores; +------+----------+-------+ | name | kemu     | score | +------+-

Hive的轉行

行轉列:使用hive的內建函式explode()進行轉化。 舉例: select movie, category_name from movie_info lateral view explode(category) table_tmp as category_nam

表的: DECODE(Oracle) CASE WHEN 的異同點

異同點 都可以對錶行轉列; DECODE功能上和簡單Case函式比較類似,不能像Case搜尋函式一樣,進行更復雜的判斷 在Case函式中,可以使用BETWEEN, LIKE, IS NULL, IN, EXISTS等等(也可以使用NOT IN和NOT EXISTS,但是這個時候要注意NULL的

[SQL]轉行

1、測試資料集 username subject score 1 張三 語文 80 2 張三 數學 90 3 張三 生物 85 4 李四 語文 80 5

hive中的轉行

轉載於此 一、行轉列的使用 1、問題 hive如何將 a       b       1 a       b       2 a       b       3 c       d       4 c       d       5 c       d       6

資料庫: 轉行/

最新在做一個需求,需要用到列轉行函式,隨手分享一下: 需求展示結果: 原資料:     需求大體描述就是,對SECURITYID進行聚合,一個SECURITYID有多個TYPECODE記錄的,轉為一行顯示,逗號隔開,也就是所說的列轉行。  

SQL資料庫查詢實現轉行結果SQL語句

 CREATETABLE[StudentScores](    [UserName]NVARCHAR(20),        --學生姓名[Subject]NVARCHAR(30),        --科目[Score]FLOAT,               --成績)INSERTINTO[StudentS

[面試][oracle] 資料庫 轉行詳解

[一]、行轉列 1.1、初始測試資料 表結構:TEST_TB_GRADE create table TEST_TB_GRADE    (      ID        NUMBER(10) notnull,      USER_NAME VARCHAR2

資料庫轉行方法

--建立縱表TABLE_ACREATE TABLE TABLE_A (    NAME VARCHAR2(20),     SUBJECT VARCHAR2(20),     SCORE NUMBER(

db2中的轉行

行轉列 給出下面的資料: CREATE TABLE Sales (Year INT, Quarter INT, Results INT) YEAR QUARTER RESULTS----------- ----------- -----------

資料庫轉行終極方案

--行轉列問題--建立測試環境Create Table TEST(DATES Varchar(6), EMPNO Varchar(5), STYPE Varchar(1), AMOUNT Int)--插入資料Insert TEST Select '200605',  '024

sql轉行

最近建立資料立方體需要將表的資料結構進行轉換,進行列轉行,覺得用途還很大,所以就整理一下,當做自己的筆記拉。 1、列轉行(主要) 表weatherdata結構: create table WEATHERDATA ( 路徑 VARCHAR2(100), 日期

資料庫 轉行詳解

目錄結構如下: 行轉列 列轉行 [一]、行轉列 1.1、初始測試資料 表結構:TEST_TB_GRADE createtable TEST_TB_GRADE    (     ID        NUMBER(10) notnull,     USER_NAME

HQL的轉行

轉自:https://blog.csdn.net/weixin_38653290/article/details/84639754 列轉行 測試資料 hive> select * from col_lie limit 10; OK col_lie.user_id col_lie

資料庫簡單例子

DECLARE @StuList TABLE (  Stu VARCHAR(20),  Course NVARCHAR(20),  Score DECIMAL ) INSERT INTO @StuList         ( Stu, Course, Score ) VAL

資料庫

有些時候還是要用到行轉列,比如下面的資料:一般的表結構大多會這麼設計,通過關聯查詢就可以得出上面的資料(客運量就隨便123了,非常時期以防恐怖分子)不用說,大家也明白要得到下面的資料:列數不多的話一般可以這樣,也是網上比較經典的寫法Select 時間, sum(case w

MaxComputeSQL-轉行

摘要: 1. 假設我們在MaxCompute中有兩張表,其中一張表是存使用者基本資訊,另一張表是存使用者的地址資訊等,表資料假設如下: user_basic_info: id name 1 a 2 b 3 c 大資料計算服務(MaxCompute,原名ODPS)是