У меня есть исходная таблица, которая выглядит следующим образом:
╔════════════════════╦════════════════╦══════════════╦══════════════════╗
║ Topic ║ Person ║ PersonsReply ║ PersonsComment ║
╠════════════════════╬════════════════╬══════════════╬══════════════════╣
║ Is the earth flat? ║ This Person ║ Yes ║ It's flat. ║
║ Is the earth flat? ║ That Person ║ No ║ It's round ║
║ Is the earth flat? ║ Another Person ║ Maybe ║ Don't care. ║
╚════════════════════╩════════════════╩══════════════╩══════════════════╝
Но из примеров, которые я видел в Интернете, я не могу преобразовать свои данные в табличное представление, как показано ниже:
╔════════════════════╦══════════════════╦══════════════════╦═════════════════════╦════════════════════╦════════════════════╦═══════════════════════╗
║ Topic ║ ThisPersonsReply ║ ThatPersonsReply ║ AnotherPersonsReply ║ ThisPersonsComment ║ ThatPersonsComment ║ AnotherPersonsComment ║
╠════════════════════╬══════════════════╬══════════════════╬═════════════════════╬════════════════════╬════════════════════╬═══════════════════════╣
║ Is the earth flat? ║ Yes ║ No ║ Maybe ║ It's flat ║ It's round ║ Don't care ║
╚════════════════════╩══════════════════╩══════════════════╩═════════════════════╩════════════════════╩════════════════════╩═══════════════════════╝
Как я могу использовать функцию PIVOT SQL для того, чего я пытаюсь достичь? Вот моя песочница: http://sqlfiddle.com/#! 18 / e198d / 1
Сейчас я получаю:
topic ThisReply ThatReply AnotherReply
Is the earth flat? (null) (null) (null)