это PHPMyAdmin стол: user_test_detail как получить имя столбца в MySQL
Я хочу привести, как показано ниже
(
[1] => option_a
[2] => option_d
[3] => option_e
[4] => option_d
)
это PHPMyAdmin стол: user_test_detail как получить имя столбца в MySQL
Я хочу привести, как показано ниже
(
[1] => option_a
[2] => option_d
[3] => option_e
[4] => option_d
)
GET IT формируют информационную схему
mysql> SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME="TEST";
+-------------+
| COLUMN_NAME |
+-------------+
| user_id |
| NAME |
| value |
+-------------+
3 rows in set (0.00 sec)
Попробуйте это.
select
case
when option_a = '1' then `option_a`
when option_b = '1' then `option_b`
when option_c = '1' then `option_c`
when option_d = '1' then `option_d`
when option_e = '1' then `option_e`
end as colName
from user_test_detail
order by question_id
Это только для этого 5 столбцов в таблице user_test_detail
, и если вы будете менять структуру этой таблицы в будущем, вы должны использовать динамический SQL.
Отредактировано:
select
max(case when question_id = 1 then colName end) as `1`,
max(case when question_id = 2 then colName end) as `2`,
max(case when question_id = 3 then colName end) as `3`,
max(case when question_id = 4 then colName end) as `4`
from (
select
case
when option_a = '1' then `option_a`
when option_b = '1' then `option_b`
when option_c = '1' then `option_c`
when option_d = '1' then `option_d`
when option_e = '1' then `option_e`
end as colName,
question_id
from user_test_detail
order by question_id
) t
-- group by question_id
вы можете получить его форму информации схемы не нужно писать сложный запрос –
@MaheshMadushanka Знаете ли вы, что он не хотел, чтобы все столбцы в таблице, но столбцы со значением 1 и порядок от ' question_id'? – Blank
да aggred не упоминалось в начальном вопросе –
Не ясно, что вы пытаетесь достичь здесь. –
1,2,3,4 - это question_id и option_a, option_d, option_e, option_d - значения. Он показывает, где значение равно 1, что имя поля появится перед question_id –
Это все столбцы в таблице 'user_test_detail'? – Blank