у меня есть большой набор данных, который содержит одну строку на человека, и 25 критериев столбцов, которые могут или не могут быть заполнены, как этот образец:MySQL Преобразование варьируя столбцов в строках
SELECT * FROM Criteria_Input;
╔══════════╦═══════════╦═══════════╦═══════════╦═══════════╦═══════════╦═══════════╗
║ Name ║ Criteria1 ║ Criteria2 ║ Criteria3 ║ Criteria4 ║ Criteria5 ║ Criteria6 ║
╠══════════╬═══════════╬═══════════╬═══════════╬═══════════╬═══════════╬═══════════╣
║ Michael ║ ║ Yes ║ ║ ║ Yes ║ ║
║ Brant ║ ║ ║ ║ ║ ║ Yes ║
║ Mary ║ Yes ║ ║ ║ Yes ║ ║ ║
║ John ║ ║ ║ ║ ║ Yes ║ ║
║ Connie ║ ║ ║ Yes ║ Yes ║ ║ ║
╚══════════╩═══════════╩═══════════╩═══════════╩═══════════╩═══════════╩═══════════╝
Мне нужно преобразовать эти данные в строки, как это:
SELECT * FROM Criteria_Final;
╔═════════╦═══════════╗
║ Name ║ Criteria ║
╠═════════╬═══════════╣
║ Michael ║ Criteria2 ║
║ Michael ║ Criteria5 ║
║ Brant ║ Criteria6 ║
║ Mary ║ Criteria1 ║
║ Mary ║ Criteria4 ║
║ John ║ Criteria5 ║
║ Connie ║ Criteria3 ║
║ Connie ║ Criteria4 ║
╚═════════╩═══════════╝
или даже лучше, что-то это:
SELECT * FROM Criteria_Final;
╔═════════╦══════════╗
║ Name ║ Criteria ║
╠═════════╬══════════╣
║ Michael ║ 2 ║
║ Michael ║ 5 ║
║ Brant ║ 6 ║
║ Mary ║ 1 ║
║ Mary ║ 4 ║
║ John ║ 5 ║
║ Connie ║ 3 ║
║ Connie ║ 4 ║
╚═════════╩══════════╝
Является ли этот вид о f преобразование данных возможно в MySQL? Причина, по которой мне нужно сделать такое преобразование, заключается в том, что я присоединяюсь к полученной таблице с другой таблицей по числу критериев.
Этот вопрос может помочь, но он немного отличается. http://stackoverflow.com/questions/20797916/how-do-i-transfer-a-list-of-genres-in-sql-to-a-seperate-database –