Вставка записей в один столбец в виде разных строк в таблице1 из разных столбцов в одной строке таблицы2 в sql-сервере - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть таблицы ниже:

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'

Позволяетскажем, есть одна запись в 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"

1 Ответ

0 голосов
/ 18 декабря 2018

Попробуйте, я думаю, что это может быть полезно для вас

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...