2016-12-08 17 views
0

私はピボットテーブルを動かそうとしています。私はこの例に基づいている私がオンラインで見つける:PIVOTを試してみる

select * 
from (
select CapVehicles.Cvehicle_DerText 
    , NVDDictionaryOption.DO_Description as OptionText 
    , [V12 2dr Touchtronic Auto] 
    , [V12 Launch Edition 2dr Touchtronic Auto] 
    , 1 as c 
from NVDStandardEquipment 
left join NVDDictionaryOption on NVDStandardEquipment.SE_OptionCode = NVDDictionaryOption.DO_OptionCode 
left join NVDDictionaryCategory on NVDDictionaryOption.DO_CatCode = NVDDictionaryCategory.DC_CatCode 
left join CapVehicles on NVDStandardEquipment.SE_Id = CapVehicles.CVehicle_Id 
where NVDStandardEquipment.SE_Id in (
    select distinct CVehicle_Id 
    from CapVehicles 
    left join CapDer on CapVehicles.CVehicle_Id = CapDer.CDer_Id 
    where CapDer.cder_discontinued is null 
    and capvehicles.cvehicle_mantext = 'ASTON MARTIN' 
    and capvehicles.cvehicle_shortmodtext = 'DB11' 
    ) and NVDStandardEquipment.SE_EffectiveTo is null 
) as s 
pivot (max(c) for Cvehicle_DerText in 
    ([V12 2dr Touchtronic Auto], [V12 Launch Edition 2dr Touchtronic Auto])) as pvt 

私の生データは、基本的に私は列と行などのオプションや車で、車両がどの選択肢を持って、グリッドに表示しようとしている、このようになります。

V12 2dr Touchtronic Auto | Adaptive damping system 
V12 2dr Touchtronic Auto | Cruise control 
V12 Launch Edition 2dr Touchtronic Auto | Adaptive damping system 
V12 Launch Edition 2dr Touchtronic Auto | Cruise control 

は、私が上記でエラーの負荷を取得:

無効な列名 'V12の2DR Touchtronicオート'。
無効な列名 'V12 Launch Edition 2dr Touchtronic Auto'。
PIVOT演算子で指定された列名 "V12 2dr Touchtronic Auto"が、PIVOT引数の既存の列名と競合します。
PIVOT演算子で指定された列名 "V12 Launch Edition 2dr Touchtronic Auto"が、PIVOT引数の既存の列名と競合します。
'V12 2dr Touchtronic Auto'列が 'pvt'に複数回指定されました。

答えて

0

私は 'V12 2DR Touchtronicオート' を想定し、「V12起動版2DR Touchtronicオートの価値観ではなく、列の名前です。 インナーセレクトから削除する必要があります。

これを試してみてください:

select * 
from (
select CapVehicles.Cvehicle_DerText 
    , NVDDictionaryOption.DO_Description as OptionText 
    , 1 as c 
from NVDStandardEquipment 
left join NVDDictionaryOption on NVDStandardEquipment.SE_OptionCode = NVDDictionaryOption.DO_OptionCode 
left join NVDDictionaryCategory on NVDDictionaryOption.DO_CatCode = NVDDictionaryCategory.DC_CatCode 
left join CapVehicles on NVDStandardEquipment.SE_Id = CapVehicles.CVehicle_Id 
where NVDStandardEquipment.SE_Id in (
    select distinct CVehicle_Id 
    from CapVehicles 
    left join CapDer on CapVehicles.CVehicle_Id = CapDer.CDer_Id 
    where CapDer.cder_discontinued is null 
    and capvehicles.cvehicle_mantext = 'ASTON MARTIN' 
    and capvehicles.cvehicle_shortmodtext = 'DB11' 
    ) and NVDStandardEquipment.SE_EffectiveTo is null 
) as s 
pivot (max(c) for Cvehicle_DerText in 
    ([V12 2dr Touchtronic Auto], [V12 Launch Edition 2dr Touchtronic Auto])) as pvt