簡體   English   中英

SQL每行一次插入到表2列

[英]SQL Insert to table 2 column at a time on each row

我陷入了一個需要在另一個表中插入數據的問題,但是我插入了兩列,然后停留在同一行,然后插入下兩列,依此類推。

我有以下表格數據

在此處輸入圖片說明

我有一個要填充兩列的表格,但想要輸入數據,例如:

Row 1:(Row1A,Row1B)
Row 2:(Row1C,Row1D)
Row 3:(Row1E,Row1D)
Row 4:(Row2A,Row2B)
Row 5:(Row2C,Row2D)
Row 6:(Row2E,Row2F)

我可以使用循環來實現上述目的,但是我想知道另一種可以提高性能的方法。 有沒有辦法做到這一點?

編輯:訂單需要正確。 我需要先將第一行列添加到表中,然后再移至第二行。

我會用apply

insert into t2(col1, col2)
    select col1, col2
    from data d cross apply
         (values (varchar1, varchar2), (varchar3, varchar4), (varchar5, varchar6)
         ) v(col1, col2);

表格代表無序集。 因為您只有兩列,所以沒有一列可以指定順序。 如果您這樣做了,那么order by將允許您擁有一個identity列來捕獲訂單。 看起來像:

insert into t2(col1, col2)
    select col1, col2
    from data d cross apply
         (values (varchar1, varchar2, 1), (varchar3, varchar4, 2), (varchar5, varchar6, 3)
         ) v(col1, col2, priority)
    order by d.id, v.priority;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM