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

はMySQLで動作しますhttp://sqlfiddle.com/#!9/ee33c/1 –

+1

私はおそらく私が望むようにこれを動作させることができます! –

+0

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

1

を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の場合、その列は必要なものになります。結果は、この列にいくつの異なる値があるかを意味します。

プログラミング言語やストアドプロシージャの種類を使用する必要があると思います。 1つのSQLステートメントでこれを達成する可能性は低いです。

+0

は構文エラーを示していません。 –

関連する問題