簡體   English   中英

在 SQL 我創建了一個臨時表,我想將多個數據插入到單行中,用逗號分隔

[英]In SQL I have created a temporary table in that I want to insert multiple data into a single row with comma separated

CREATE TABLE #Tempdata
(
    Account_Id varchar (max)
)

INSERT INTO #Tempdata 
VALUES ('3', '4', '5');

我希望數據是單一的,如上所示。

你想做的是:

Create #Tempdata(Account_Id varchar (max))
Insert into #Tempdata(Account_Id) values ('3,4,5');

這將產生以下結果;

| Account_Id |
| :--------: |
| 3,4,5      |

如果您像這樣創建表,您的示例將導致插入多個列示例:

Create table #Tempdata(column1 varchar (max), column2 varchar 
(max),column3 varchar (max)) 
Insert into #Tempdata(column1,column2,column3) values 
('3','4','5');

那么您的查詢將得到以下結果:

| column1 | column2 | column3 |
| ------- | ------- | ------- |
|    1    |    2    |    3    |

在此代碼中,您將獲得一個表集(多行):

SELECT value
FROM #Tempdata
CROSS APPLY STRING_SPLIT(Account_Id, ',');

如果要面向列,我的意思是每個值一行多列,則應將 pivot 應用於上一個查詢的結果。

暫無
暫無

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

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