0
Ich versuche, eine dynamische Sql Pivot zu erreichen, wo zwei Tabellen zusammengefügt werden und eine Gruppe von Bildern ihre eigene Spalte werden.Dynamische Sql Pivot Join
Tabelle 1:
house_id name value
1 image image1.jpg
1 image image2.jpg
1 image image3.jpg
Tabelle 2:
id updated_at house_name
1 2016-12-02 House 1
Ich mag es so aussehen:
house_id updated_at house_name image1 image2 image3
1 2016-12-02 House 1 image1.jpg image2.jpg image3.jpg
ich dies durch einen dynamischen SQL-Pivot erreichen will, aber ich kann es nicht zum Funktionieren bringen (sogar ohne die Verbindung):
DECLARE @cols AS NVARCHAR(MAX)='';
DECLARE @query AS NVARCHAR(MAX)='';
SELECT @cols = @cols + QUOTENAME(name) + ',' FROM (select distinct name from #table1) as house_meta
select @cols = substring(@cols, 0, len(@cols)) --trim "," at end
set @query =
'SELECT * from
(
select house_id, name, value from #table1
) src
pivot
(
max(value) for name in (' + @cols + ')
) piv'
execute(@query)
Gibt es eine Möglichkeit, dies zu erreichen, ohne einen Dreh mit? – Ellinor
kommt darauf an. Wenn es sich bei der Aufgabe nur um eine einmalige Operation handelt, bei der Daten migriert werden, habe ich versucht, eine neue Tabelle zu erstellen und sie dann Zeile für Zeile mit dem Cursor zu füllen –