2017-02-17 2 views
3

テーブル「interesting_table」を使用して、すべてのエントリがnullでないすべての行を検索したいとします。 *列として認識されていないので、私はSQLクエリ - すべてのエントリがNullでない行を検索します。

select * from interesting_table where * is not NULL ; 

それは動作しませんをしようとしていた

。すべての列を表示せずにこれを変更するにはどうすればよいですか?

+1

簡単な方法はありません。すべての列を指定するか、動的SQLを使用して文を作成します。 –

+1

実際に列を列挙し、AND条件で区切られたすべての列に対してNULLでないチェックを実行する必要があります。 –

+0

Joelとvkpに感謝します。質問を閉じることができます。 – Illusionist

答えて

1

つのオプション:

1)は、同じテーブルでNATURAL JOINを使用)のいずれかのパラメータが

select * 
from interesting_table 
where concat(data1, data2) is not null; 

2 nullの場合はnullを返しますCONCATなどの機能を使用してください。いずれかの列がNULLの場合、その行のJOINは失敗します。

select t1.* 
from interesting_table t1 
natural join interesting_table t2; 

表に重複が含まれている場合は、DISTINCTを使用する必要があります。

デモ:http://rextester.com/NRSDM90436