すべて、複雑なクエリFooの出力である次のテーブルが呼び出されますPIVOT

(DB1, DB2, DB3) all を持つこのテーブルの行を削除する必要がありますNULL。これを通常に行うには、次のようなものを使用できます
DELETE FROM Foo
WHERE [DB1] IS NULL
AND [DB2] IS NULL
AND [DB3] IS NULL;
しかし問題は、このコードが C# から呼び出され、列 (DB1、DB2、DB3) が実行ごとに変わることです。
これを動的に行うにはどうすればよいですか?
御時間ありがとうございます。
編集1. Bar使用可能な列を含む別のテーブルがDB#あるので、このテーブルを使用して、句SELECT DISTINCT ...で必要な列のリストを取得できます。WHEREただし、これまでにこれを行ったことがなく、どこから始めればよいかわかりません...どんな助けも大歓迎です。
編集2。私は C# をまったく使用できません。C# コードは SQL のパーサーであり、指定された .sql ファイルで動作します。これは完全に SQL で行う必要があります。