當前位置:首頁 » 編程語言 » SQL數據表拆分幾張
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

SQL數據表拆分幾張

發布時間: 2022-06-04 12:30:30

⑴ 求助sql語句,要把一張表拆成2張表!

銷售主表
select distinct 單據號,單據日期,客戶名稱,備注 from 銷售表
銷售子表
select 單據號,商品名稱,規格型號,數量,單價,金額 from 銷售表 order by 單據號

SID,FID從哪裡來的?

⑵ 如何將一張EXCEL表格里的數據拆分成幾張SHEET或者工作表

原始數據表如下(名稱為:數據源),需要根據B列人員姓名拆分成每個人一個工作表。

點擊【開發工具】-【Visual Basic】或者Alt+F11的快捷鍵進入VBE編輯界面。

如下圖所示插入一個新的模塊。

如下圖,粘貼下列代碼在模塊中:
Sub CFGZB()
Dim myRange As Variant
Dim myArray
Dim titleRange As Range
Dim title As String
Dim columnNum As Integer
myRange = Application.InputBox(prompt:="請選擇標題行:", Type:=8)
myArray = WorksheetFunction.Transpose(myRange)
Set titleRange = Application.InputBox(prompt:="請選擇拆分的表頭,必須是第一行,且為一個單元格,如:「姓名」", Type:=8)
title = titleRange.Value
columnNum = titleRange.Column
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim i&, Myr&, Arr, num&
Dim d, k
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name <> "數據源" Then
Sheets(i).Delete
End If
Next i
Set d = CreateObject("Scripting.Dictionary")
Myr = Worksheets("數據源").UsedRange.Rows.Count
Arr = Worksheets("數據源").Range(Cells(2, columnNum), Cells(Myr, columnNum))
For i = 1 To UBound(Arr)
d(Arr(i, 1)) = ""
Next
k = d.keys
For i = 0 To UBound(k)
Set conn = CreateObject("adodb.connection")
conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
Sql = "select * from [數據源$] where " & title & " = '" & k(i) & "'"
Worksheets.Add after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = k(i)
For num = 1 To UBound(myArray)
.Cells(1, num) = myArray(num, 1)
Next num
.Range("A2").CopyFromRecordset conn.Execute(Sql)
End With
Sheets(1).Select
Sheets(1).Cells.Select
Selection.Copy
Worksheets(Sheets.Count).Activate
ActiveSheet.Cells.Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next i
conn.Close
Set conn = Nothing
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

如下圖所示,插入一個控制項按鈕,並指定宏到剛才插入的模塊代碼。

點擊插入的按鈕控制項,根據提示選擇標題行和要拆分的列欄位,本例選擇「姓名」欄位拆分,當然也可以選擇C列的「名稱」進行拆分,看實際需求。

代碼運行完畢後在工作簿後面會出現很多工作表,每個工作表都是單獨一個人的數據。具體如下圖所示:

注意:
1)原始數據表要從第一行開始有數據,並且不能有合並單元格;
2)打開工作簿時需要開啟宏,否則將無法運行代碼。

⑶ 怎麼把SQL中的一個表分成2個表。並且這兩個表有自己的名字

select*into學生1from學生表where學院='學院名稱1'
select*into學生2from學生表where學院='學院名稱2'

⑷ sql 一個表的一個欄位,怎麼拆分成幾個欄位

iphacker大哥,估計你理解了我的意思,其他的回答謝謝了,我的問題的表格發問後亂了,影響了你們的理解
問題如下(根據左表,統計得到右表):
ID---考勤---------------------------ID---早退---遲到---缺勤
1----早退----------------------------1--- 1 -----1-------0
1----遲到--左邊的表怎麼用查詢---2----0------1-------0
2----遲到--或存儲過程等得到-----3----2------0-------1
3----早退--右邊的查詢結果-->
3----早退
3----缺勤

⑸ access中如何將一張表按欄位拆分成多張表

生成表查詢。查詢設計,選中需要的欄位,生成新表即可

⑹ SQL Server 拆分數據表

可以這樣做:
select * into tableclass0 from table where 班級=0
select * into tableclass1 from table where 班級=1
select * into tableclass2 from table where 班級=2
select * into tableclass3 from table where 班級=3
...
select * into tableclass9 from table where 班級=9
在把原先的表刪除,就實現了1張表分成10張的,只要條件對就可以了,tableclass0-9是新表的名稱,按你的表結構,可以不用導入id

⑺ sql數據表根據數據量來拆分新表

我現在沒有時間,只能給你個思路
1在orcle中的procere中實現;
2先變數cnt_v獲得A表中數據的總數(select count(*) into cnt_v from A)並賦值給cnt_v
3判斷cnt_v,如果大於0小於等於cnt_v/4,把rownum>0,和rownum=<cnt_v/4的值,插入到第一個表中;
4判斷cnt_v,如果大於cnt_v/4小於等於cnt_v/2,就把rownum>cnt_v/4,和rownum=<cnt_v/2的值,插入到第二個表中;
5以上兩步類推,把所有數據分插入到四個表中

⑻ SQL怎樣把2個表的數據拆分,形成多對多關系(例子如下)

insert into
表3 select 表1.發票名,表1.金額,表2.收款單名 from 表1,表2 where 表1.發票名=表2.發票名
你要生成哪張表,是表3嗎?還是另外一張表