回覆列表
  • 1 # 薛定諤的小貓貓

    對於經常使用Excel的人來說,在Excel中使用SQL能高效處理你的資料,但據我所知Excel中的SQL語法與MySQL資料的語法還有點不一樣。現在我就來例項說明如何用SQL語句對多個工作簿進行彙總。假如我們要彙總如下三個工作簿

    1. 學生資訊表

    2. 學生成績表

    3. 學生興趣表

    將這三個工作簿按相同學號進行合併,大致分如下幾步:

    1. 載入資料

    然後再找到你Excel表格的存放目錄,如下圖

    2. 編寫SQL程式碼並執行

    SELECT

    tm.*,

    tn.興趣愛好 AS 興趣愛好

    FROM(

    SELECT

    ta.學號 AS 學號,

    ta.姓名 AS 姓名,

    ta.年齡 AS 年齡,

    ta.性別 AS 性別,

    ta.身高 AS 身高,

    ta.出生地 AS 出生地,

    tb.語文成績 AS 語文成績,

    tb.數學成績 AS 數學成績

    FROM(

    SELECT

    tt.學號 AS 學號,

    tt.姓名 AS 姓名,

    tt.年齡 AS 年齡,

    tt.性別 AS 性別,

    tt.身高 AS 身高,

    tt.出生地 AS 出生地

    FROM [學生基本資訊表$] tt

    )ta

    INNER JOIN(

    SELECT

    tt.學號 AS 學號,

    tt.語文成績 AS 語文成績,

    tt.數學成績 AS 數學成績

    FROM [學生成績表$] tt

    )tb

    ON ta.學號=tb.學號

    )tm

    INNER JOIN(

    SELECT

    tt.學號 AS 學號,

    tt.興趣愛好 AS 興趣愛好

    FROM [學生興趣表$] tt

    )tn

    ON tm.學號=tn.學號

    這樣就完成了三個工作簿的資料合併,接下來將資料返回Excel表。

    3. 返回資料到Excel表

    這樣就完成了三個工作簿的資料合併。

    Tips:

    2. 在Excel SQL中常用到的合併操作有INNER JOIN、LEFT JOIN、RIGHT JOIN、UNION、UNION ALL等,但不支援FULL JOIN。更復雜的需求都有一定的處理技巧。

  • 2 # 黃庭換鵝

    select * from [工作簿路徑1].[工作表名1] union all

    select * from [工作簿路徑2].[工作表名2] union all

    select * from [工作簿路徑3].[工作表名3]

    個人比較推薦vba 引用ADO的方法,可以用變數代替工作簿路徑不用一個個寫。

    展開說太麻煩,就這樣吧。

  • 中秋節和大豐收的關聯?
  • 有哪些適合單吉他彈唱的比較有逼格的英文歌?