Я успешно поворачиваются таблицу с помощью запроса этого формата:Соединение слева сводную таблицу с колонкой из другой таблицы
откидывании Таблица
SELECT returnColumn, ISNULL(rule1,0), ISNULL(rule2,0)
FROM (SELECT DISTINCT returnColumn,
ruleColumn,
bool
FROM tableRules) AS st
PIVOT (AVG(bool) FOR ruleColumn IN (rule1,rule2) As pt
ORDER BY returnColumn
Редактировать
Мой повернута стол имеет следующий формат:
+--------------+---------------------+
| returnColumn | rule1 rule2 rule3 |
+--------------+---------------------+
| return1 | 0 1 0 |
| return2 | 1 0 1 |
+--------------+---------------------+
Существует еще одна таблица otherRuleTable
с колонками returnColumn
и rule4
. Это выглядит следующим образом:
+--------------+-------+
| returnColumn | rule4 |
+--------------+-------+
| return1 | 1 |
| return2 | 1 |
+--------------+-------+
Я хотел бы, чтобы это произошло:
+--------------+---------------------------+
| returnColumn | rule1 rule2 rule3 rule4|
+--------------+---------------------------+
| return1 | 0 1 0 1 |
| return2 | 1 0 1 1 |
+--------------+---------------------------+
Покушение
Я думаю, что это потребует левый присоединиться, но я борюсь с синтаксисом. Я пробовал это:
(SELECT returnColumn, ISNULL(rule1,0), ISNULL(rule2,0)
FROM (SELECT DISTINCT returnColumn,
ruleColumn,
bool
FROM tableRules) AS SourceTable
PIVOT (AVG(bool) FOR ruleColumn IN (rule1,rule2) As pt)
LEFT JOIN
(SELECT rule4 FROM otherRuleTable ort)
ON pt.returnColumn = ort.returnColumn
ORDER BY returnColumn
Как это сделать?
ОТВЕТ
SQL server join tables and pivot
Вот отличное место для начала. http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –