iT邦幫忙

0

SQL_INSERT INTO 問題請教

請問各位前輩一個sql問題,
我有一個A table 裡面假設有客戶資料500筆
然後B table,裡面有五筆資料,
目前想做假資料,
一筆A TABLE的資料,對映到B TABLE內的五筆資料。
如此重複500次
請問該如何做??
我目前使用insert,但還沒組出來…尚再研究中
如資訊不足,再麻煩跟我說,我再補充,謝謝各位

qpalzm iT邦新手 1 級 ‧ 2020-10-19 12:00:17 檢舉
想問個你是要看資料還是存資料阿?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
純真的人
iT邦大師 1 級 ‧ 2020-10-19 12:00:11

試試

insert into B(ID,FromID,其他欄位)
select isNull((select max(ID) from B),0)
+ Row_Number()Over(Order by a.ID)
,a.ID as FromID
,b.其他欄位
from A,b
klm2242 iT邦研究生 1 級 ‧ 2020-10-27 12:05:10 檢舉

謝謝你

1
rogeryao
iT邦大師 1 級 ‧ 2020-10-19 12:47:23
CREATE TABLE TestX
(
	AA nvarchar(40),
    BB nvarchar(40),
	CC nvarchar(40)
);

INSERT into TestX
values
(N'A1',N'B1',N'C1'),
(N'A2',N'B2',N'C2'),
(N'A3',N'B3',N'C3'),
(N'A4',N'B4',N'C4'),
(N'A5',N'B5',N'C5');
CREATE TABLE TestY
(
	DD nvarchar(40),
    EE nvarchar(40),
	FF nvarchar(40)
);

INSERT into TestY
values
(N'D1',N'E1',N'F1'),
(N'D2',N'E2',N'F2');
CREATE TABLE TestZ
(
    AA nvarchar(40),
    BB nvarchar(40),
	CC nvarchar(40),
	DD nvarchar(40),
    EE nvarchar(40),
	FF nvarchar(40)
);
INSERT TestZ (AA,BB,CC,DD,EE,FF)
SELECT AA,BB,CC,DD,EE,FF
FROM TestX,TestY
ORDER BY AA,BB,CC,DD,EE,FF

Demo

klm2242 iT邦研究生 1 級 ‧ 2020-10-27 12:05:18 檢舉

謝謝你

0
Cinna
iT邦新手 4 級 ‧ 2020-10-19 18:41:03

如果你是想製作5*500筆資料,
可以試試看CROSS JOIN:
1.新建一張資料表
2.INSERT(SELECT表A CROSS JOIN 表B)

klm2242 iT邦研究生 1 級 ‧ 2020-10-27 12:05:26 檢舉

謝謝你

我要發表回答

立即登入回答