C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

SQLServer で1行にしたい

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■90012 / inTopicNo.1)  SQLServer で1行にしたい
  
□投稿者/ ルパン (21回)-(2019/01/30(Wed) 15:23:38)

分類:[.NET 全般] 

2019/02/01(Fri) 14:21:39 編集(投稿者)
SQLServer の SQLですが

以下のようにしたいのですができませんでした。

DECLARE @TRUE INT = 0;

WITH A       ←─ 1行だけ
  
IF (@TRUE = 1)
BEGIN
 SELECT B
 FROM  C
END
ELSE
BEGIN
 SELECT D
 FROM  E
END

(WITH A)が複数個所になるのが嫌のですが
以下のようにするしかないのでしょうか?

DECLARE @TRUE INT = 0;

IF (@TRUE = 1)
BEGIN
 WITH  A     ←┐
 SELECT B      │
 FROM  C      │
END          ├ 同じことを複数
ELSE          │ 繰り返す
BEGIN         │
 WITH  A     ←┘
 SELECT D
 FROM  E
END

引用返信 編集キー/
■90013 / inTopicNo.2)  Re[1]: SQLServer で1行にしたい
□投稿者/ PANG2 (259回)-(2019/01/30(Wed) 16:52:15)
ASの中にIF文は書けないので、

DECLARE @TRUE INT = 0;
WITH A AS (
SELECT B FROM C WHERE @TRUE=1
UNION ALL
SELECT D FROM E WHERE @TRUE!=1
)
SELECT * FROM A
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ