我有一個存儲我們公司的職位和「要求」的數據庫。即每個職位都需要經歷一次建築感應等等。有一個程序允許用戶看到/管理所有這些,但是當然,有人想要爲客戶端導出,而且當前的設置並不可行,我在想一個快速的數據透視表將會完成這項工作。數據透視表中的數據類型轉換錯誤
我有以下表格;
--------------------------- | Positions | --------------------------- | PositionID | int | | PositionName | nvarchar | --------------------------- ------------------------------ | Requirements | ------------------------------ | RequirementID | int | | RequirementName | nvarchar | | RequirementType | bit | ------------------------------ ------------------------- | Position Requirements | ------------------------- | Position_ID | int | | Requirement_ID | int | -------------------------
我想這樣做是拉出數據特定位置或位置,即SELECT * FROM Positions WHERE PositionName LIKE '%Manager%';
這些位置將形成透視的最左邊的列。
對於數據透視表的第一行,我想每個RequirementName。
內部數據將爲RequirementType字段(即「0」或「1」,可能是「任何」/「全部」)。
我已經閱讀和閱讀,但我永遠不能看到我的頭腦圍繞他們的概念,所以這是我目前的嘗試;
SELECT *
FROM Requirements
PIVOT (MAX(RequirementType) FOR RequirementName IN ([Requirement], [Names], [Go], [Here])) AS pivtable
WHERE [Requirement], [Names], [Go], [Here] IN (
SELECT RequirementName FROM Requirements WHERE RequirementID IN (
SELECT Requirement_ID FROM PositionRequirements WHERE Position_ID IN (
SELECT PositionID FROM Positions WHERE PositionName LIKE '%Manager%')));
不應該這個是'WHERE [要求],[名],[圍棋],[這裏] in..'只是'WHERE [要求] in..' – 2015-02-24 08:13:35