1

選択クエリの作成に 1 つのヘルプが必要です。

50 列のテーブルがあり、このテーブルからすべての列を取得する必要はありません。

つまり、次のような列があるとします:a、b、c、d &列c、dのない選択クエリが必要です。を使用するだけで目的が果たされることはわかってselect a, b from tableいますが、50 列あり、それらから 40 列だけを取得したい場合を考えてみてください。

Is there any specific T-SQL in sql server syntax available that will full fill the requirement.

4

5 に答える 5

5

いいえ、「c、d 以外のすべての列を選択する」とは言えませんが、オブジェクト エクスプローラーを使用する場合は、テーブルまたはビュー ノードを展開し、テーブルまたはビューを展開して、"列" フォルダーをクエリ ウィンドウにドラッグします。これで、不要な 10 列をリストから削除できます。これは、残りの 40 列を入力するよりも簡単です。

ここに画像の説明を入力

于 2012-08-28T13:48:20.757 に答える
2

実際には、指定した特定の列を除くすべての列を選択することできます。それはあなたが通常行うべきことではありません。

例えば:

DECLARE @columns VARCHAR(MAX)
SELECT @columns = COALESCE(@columns+',' ,'') + name
FROM MyDatabase.sys.columns
WHERE object_id = (
    SELECT object_id
    FROM MyDatabase.sys.tables
    WHERE name='MyTable'
)
    AND name NOT IN ('MyColumn1','MyColumn2')
PRINT @columns

EXEC('SELECT '+@columns+' FROM MyTable')

一般に、他の回答に示されている例に従うことをお勧めします。

于 2012-08-28T17:48:27.507 に答える
1

のようにはできませんSelect * except c,d from table。各列名を手動で記述する必要があります。各列名を手動で書きたくない場合は、次のようにオブジェクト エクスプローラーでテーブルまたはビューScript Table Asを右クリックして使用できます。

ここに画像の説明を入力

SELECT次に、新しいクエリ エディター ウィンドウでクエリ全体を取得し、次のように不要な列を削除します。

ここに画像の説明を入力

于 2012-08-28T13:51:33.560 に答える
1

定期的に使用している場合は、ビューを作成すると役立ちます。あなたは一度それをしなければなりませんが。

于 2012-08-30T22:57:45.053 に答える
0

[新しいクエリ] をクリックし、「select * from table」と入力します。カーソルでテキストを強調表示します。強調表示を右クリックし、[ Design Query in Editor ] を選択し、不要な列のチェック マークをオフにします。[ OK]をクリックします。エディターでのコードの記述は、慣れると非常に高速になることがわかりました。Intellisense が何をしようとしているのかを把握しようとするのを待つよりもはるかに高速です。

この方法でクエリを作成する場合、エディターによって生成されたコードは通常判読できないため、Poor Man's T-SQL Formatter のような書式設定ツールを使用すると非常に役立ちます。

于 2012-08-28T15:46:09.373 に答える