-1

我有下表:

table1 #TempImagepath
column1 Path nvarchare(800)

table2 SiteImage
column1 SiteID bigint,
column2 Facebookurl nvarchare(800),
column3 Twitterurl nvarchare(800),
column4 Instaurl nvarchare(800)

我想将 table2 中的数据作为不同的行插入到 table1 中 (Facebookurl,Twitterurl,Instaurl) 其中 SiteID='10'

假设 table2(SiteImage) 中有一条记录:

(10,"/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")

然后我的结果应该为 table1(#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"
4

1 回答 1

0

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

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
于 2018-12-18T11:18:07.830 回答