Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从sql server中表2的一行中的不同列将记录作为表1中的不同行插入到一列中_Sql_Sql Server_Database - Fatal编程技术网

从sql server中表2的一行中的不同列将记录作为表1中的不同行插入到一列中

从sql server中表2的一行中的不同列将记录作为表1中的不同行插入到一列中,sql,sql-server,database,Sql,Sql Server,Database,我有以下表格: table1 #TempImagepath column1 Path nvarchare(800) table2 SiteImage column1 SiteID bigint, column2 Facebookurl nvarchare(800), column3 Twitterurl nvarchare(800), column4 Instaurl nvarchare(800) 我想将表2中的数据作为不同的行插入表1中,用于(Facebookurl、Twitterurl、

我有以下表格:

table1 #TempImagepath
column1 Path nvarchare(800)

table2 SiteImage
column1 SiteID bigint,
column2 Facebookurl nvarchare(800),
column3 Twitterurl nvarchare(800),
column4 Instaurl nvarchare(800)
我想将表2中的数据作为不同的行插入表1中,用于(Facebookurl、Twitterurl、Instaurl),其中SiteID='10'

假设表2中有一条记录(SiteImage),如下所示:

然后我的结果应该给出表1(#TempImagepath)的记录,比如:

"/uploads/Sites/1/CategoryImages/WebImages/7ec79e1a-92c2-4d7c-9139-6d177004d766-201701311804409066.jpg"
"/uploads/Sites/1/CategoryImages/MobileImages/e5ae525f-7dcf-4051-8463-6bb15f520860-201701311804425434.jpg"
"/uploads/Sites/1/CategoryImages/MobileImages/31d89a5e-5593-4074-881f-d3326b5cf105-201701311804444181.jpg"

试试这个,我想这可能对你有用

IF OBJECT_ID('Tempdb..#TempImagepath')IS NOT NULL
DROP TABLE #TempImagepath
IF OBJECT_ID('dbo.SiteImage')IS NOT NULL
DROP TABLE SiteImage

CREATE TABLE #TempImagepath
([Path] nvarchar(800))

CREATE TABLE SiteImage
(
 SiteID bigint IDENTITY,
 Facebookurl nvarchar(800),
 Twitterurl nvarchar(800),
 Instaurl nvarchar(800)
 )
 INSERT INTO SiteImage
 SELECT 'Facebookurl','Twitterurl','Instaur'

INSERT INTO #TempImagepath
SELECT 'Row'+ CAST(ROW_NUMBER()OVER(ORDER BY (SELECT 1))AS Varchar(10))+': '+  [Path] 
FROM SiteImage
CROSS APPLY (VALUES (Facebookurl),(Twitterurl),(Instaurl)
)AS A ([Path])

SELECT * FROM #TempImagepath
结果

Path
------------------
Row1: Facebookurl
Row2: Twitterurl
Row3: Instaur

样本数据和预期结果将对这里有很大帮助,现在看看这是否更好?感谢您的回答,我正在努力添加此逻辑,一旦完成,将恢复。
Path
------------------
Row1: Facebookurl
Row2: Twitterurl
Row3: Instaur