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

わんくま同盟

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

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


(過去ログ 158 を表示中)
■91629 / )  Re[3]: SQLServerのSQLがわかりません。
□投稿者/ 韋駄天 (7回)-(2019/07/16(Tue) 14:03:10)
あくまで感覚ですが

TBL
NAME CODE
A 1,2
B 3

SELECT *
FROM TBL AS TBL1
LEFT OUTER JOIN (
----------
NAME = 'A' の時 1,2
NAME = 'B' の時 3
の列テーブルができればOKなのですが
----------
) AS TBL2
ON TBL2.NAME = TBL1.NAME

ちなみに2016ですが、STRING_SPLIT は使用できませんでした。
なので、以下のようなファンクションを作っています。

ALTER FUNCTION [dbo].[ufnStringSplit](
@Input AS NVARCHAR(MAX)
)
RETURNS @Output TABLE(Value NVARCHAR(MAX))
AS
BEGIN
IF @Input IS NOT NULL
BEGIN
DECLARE @Start INT = 1, @End INT = CHARINDEX(',', @Input), @Len INT = LEN(@Input);
WHILE @End > 0
BEGIN
INSERT INTO @Output (Value) VALUES(SUBSTRING(@Input, @Start, @End - @Start));
SELECT @Start = @End + 1, @End = CHARINDEX(',', @Input, @Start);
END
INSERT INTO @Output (Value) VALUES(SUBSTRING(@Input, @Start, @Len + 1 - @Start));
END
RETURN;
END
返信 編集キー/


管理者用

- Child Tree -