У меня есть таблица ответов на опрос, и ответы по каждому предмету для каждого вопроса перечислены в строках, а не в столбцах.Таблица поворота с дубликатами в SQL
Вот пример таблицы:
После поиска, я был в состоянии повернуть его с помощью этого:
SELECT id, question, answer
MAX (CASE WHEN [question] = 'do you like cheese' THEN [answer] ELSE NULL END) AS [q1],
MAX (CASE WHEN [question] = 'what type of cheese' THEN [answer] ELSE NULL END) AS [q2]
MAX (CASE WHEN [question] = 'where do you buy your cheese' THEN [answer] ELSE NULL END) AS [q3]
FROM CheeseTable
GROUP BY id
Однако, как вы можете видеть из таблицы в ссылка выше, есть 2 записи с id = 1, которые имеют разные ответы.
В принципе, это одно и то же лицо, но они дважды заполняли опрос (т. Е. Наблюдение). Когда я использую GROUP BY, он только поворачивает один из дубликатов идентификаторов. Есть ли способ свернуть и включить дубликаты идентификаторов?
Это выход я хочу получить:
Вы агрегируют ваши данные, поэтому вывод - именно то, о чем вы просите. Можете ли вы опубликовать структуру таблицы и образцы данных? Из того, что вы разместили, похоже, вам нужна серьезная нормализация. –
Да, я знаю, что данные ** плохие **. У меня нет возможности изменять базу данных, мне просто нужно получить информацию из данных. Мне не нравится работать с этим худшим продуктом. Ничего. Это была настоящая борьба, пытаясь заставить высшие взлеты осознать, что это невозможно. Я просто пытаюсь сделать омлет из всех этих сломанных яиц, плавающих в сточных водах. Спасибо за вашу проверку, что я не единственный, кто вытаскивает мои волосы. Извините, что выпустил брата. – vanellope1