2016-04-26 4 views
2

Есть ли способ получить имя столбца из таблицы, где все значения в этом столбце одинаковы!Показать имя столбца MySQL

Пример! Если бы я была бы такой код было бы вернуть ответ «Работает»

Table1 
ID  Name  Works 
1  Andre  Yes 
2  John  Yes 
3  Stewart Yes 
+0

Вы хотите знать, одинаковы ли все значения в 'Works'? Или вы хотите знать, какие столбцы в таблице имеют одинаковое значение? – Schwern

+0

@Schwern Я хочу знать, какие столбцы в таблице имеют одинаковое значение! –

ответ

0

Я не уверен, если это возможно, чтобы работать с MySQL самостоятельно, но вы можете сделать это с вашего сценариев.

Вы можете запустить петлю на каждый столбец и сделать запрос:

SELECT 
    COUNT(DISTINCT column_name) 
    FROM table_name; 

И видите, вы получаете 1 запись в результатах

+1

работает в MySQL http://sqlfiddle.com/#!9/ee33c/1 –

+1

Я мог бы работать так, как хочу! –

+0

http://dev.mysql.com/doc/refman/5.7/ru/show-columns.html –

1

Я не знаю, если столбцы таблицы являются известными , Если нет, то вы могли бы быть в состоянии получить их:

desc Table1; 

или если вы используете более высокую версию MySQL, вы можете использовать:

select column_name from information_schema.columns where table_schema='your_schema' and table_name='Table1'; 

Затем попробуйте следующее заявление с параметрами @column заменяются именами колонок, полученными из вышеуказанного отчета:

select count(*) from (select count(*) as c from Table1 as t group by [email protected]) as sub; 

Если результат равен 1, то колонка - это то, что вы хотите. Результат означает, сколько разных значений имеет этот столбец.

Я полагаю, вам придется использовать какой-то язык программирования или хранимую процедуру. Вы вряд ли сможете достичь этого с помощью одного SQL-оператора.

+0

показывает, что синтаксическая ошибка не нравится t. @ column part –

Смежные вопросы