0
で結合されたテーブルと行に列を変換する私は、次の構造:SQL
WordTemplatesByAssemblyPackage
[PackageId] [TemplateId]
WordTemplate
[TemplateId] [Name]
WordTemplatePlainDataMappings
[TemplateId] [UDF01SdtTag] [UDF02SdtTag] [UDF03SdtTag] ... [UDF20SdtTag]
WordTemplateTableDataMappings
[TemplateId] [TableContainerSdtTag] [Col01SdtTag] [Col02SdtTag] ... [Col10SdtTag]
を私は次のクエリを変換するために努力して代わりの私が行に変換したい列を選択してきた
SELECT
t.Name,
pd.UDF01SdtTag,
pd.UDF02SdtTag,
pd.UDF03SdtTag,
tpd.TableContainerSdtTag,
tpd.Col01SdtTag,
tpd.Col02SdtTag,
tpd.Col03SdtTag
FROM
doc.WordTemplatesByAssemblyPackage AS p
INNER JOIN doc.WordTemplate AS t ON p.TemplateId = t.TemplateId AND p.TemplateId = t.TemplateId
LEFT JOIN doc.WordTemplatePlainDataMappings AS pd ON pd.TemplateId = t.TemplateId AND pd.TemplateId = t.TemplateId
LEFT JOIN doc.WordTemplateTableDataMappings AS tpd ON tpd.TemplateId = t.TemplateId AND tpd.TemplateId = t.TemplateId
WHERE
p.PackageId = 3
私はunpivにしようとしてきたが、私が得るすべては最後に
42000 - [SQL Server]The column 'TemplateId' was specified multiple times for 'unpiv'.
42000 - [SQL Server]The multi-part identifier "p.TemplateId" could not be bound.
、私は結果であり、
t.Name Field Value
Template 1 Field 1 Value
Template 1 Field 2 Value
Template 1 Table 1 - Field 1 Value
Template 2 Field 1 Value
Template 2 Table 1 Field 1 Value