2017-06-02 9 views
-1

私は以下のようなクエリを書いて欲しいです:WHEN句などを使用してSELECT文の列を表示しないでください。

私はwhere節を使いたくありません。私は何も書かずにAを見せない何かを書こうと思っています。私は後に、その後、他我々はこれは、SQL Serverの実装(削除する仮定1列のみ)であるA

Select 
(CASE WHEN A>0 THEN (A) ELSE ----- END), 
(CASE WHEN A>0 THEN (A) ELSE ----- END) 
from table 
を削除しないで
+2

私はあなたが求めているものは考えています。あなたの質問を_edit_し、いくつかのサンプルテーブルのデータを使ってあなたが念頭に置いていることを私たちに教えてください。 –

+0

大文字または小文字の列内で複数の列を選択する必要があります –

+0

@ kiarash-moshar私は以下の回答を追加しました。 –

答えて

0

に値を割り当てることができますので、この1つは不可能だと思います。データベース[学校]

表スクリプト

CREATE TABLE [dbo].[Matches] 
(
    [FootballerName] [varchar](100) NULL, 
    [Goal] [int] NULL, 
    [Tournament] [varchar](100) NULL 
) 

INSERT文

insert into Matches(FootballerName,Goal,Tournament) 
select 'Messi ', 3 ,'La liga' union 
select 'Ronaldo ', 5 ,'UEFA' union 
select 'Surez ', 2 ,'La liga'; 

結果のためのクエリ(selectステートメントから列の目標を削除)

Declare @TableName varchar(100) 
SET @TableName='Matches' 
Declare @ColumnToRemove varchar(1000) 
SET @ColumnToRemove='Goal' 

DECLARE @ListOfColumn VARCHAR(8000) 
SELECT @ListOfColumn = COALESCE(@ListOfColumn + ',', '') + CAST(column_name AS VARCHAR) 
FROM INFORMATION_SCHEMA.columns 
WHERE [email protected] and table_catalog='School' and Column_Name<>@ColumnToRemove 

Declare @Query varchar(1000) 
SET @Query ='Select ' + @ListOfColumn +' from ' [email protected] 
EXEC(@Query) 
(1列を削除する)クエリの

結果

FootballerName Tournament 
-------------- --------------- 
Messi   La liga 
Ronaldo   UEFA 
Surez   La liga 

結果(すべての列を持つ)

FootballerName Goal Tournament 
-------------- ---- ----------- 
Messi   3  La liga 
Ronaldo   5  UEFA 
Surez   2  La liga 
+0

@ kiarash-mosharこれが必要であるかどうか確認してください。 –

+0

ありがとう、良い結果になる –

関連する問題