2017-08-19 9 views
0

に私は、SQLに取り組んでいますし、ここで私はスカラー変数はスカラー変数

に私のSQLテーブルのデータを格納する必要があるSQL文を持っている私はこの

ような何かをしました
declare @variable1 as varchar(50) 
declare @variable2 as varchar(50) 
SELECT @variable1 = tid, @variable2 = empname 
FROM trainerdetails 
select @variable2 as empname,@variable1 as tid 

つだけのレコードは、私は私のスカラー変数に私のテーブルのすべてのデータを保存したい場合、私はここで何をすべきか

empname  tid 
test  354 

私の出力に示されていますか?

答えて

0

スカラー変数は、一度に単一の値を保持し、定義によって、

declare @tbl table 
(
col1 int, 
col2 int 
) 
insert into @tbl 
select * from yourtable 
0

スカラー変数変数テーブルが必要になりますdata.youの最後の部分だけを保持しています。だから...あなたが1つのデータに完全な列のデータを収めたいのであれば、そのデータを連結する必要があります...通常、コンマで区切られた配列の形式です。これらの線に沿って 何か...

IF OBJECT_ID('tempdb..#temp', 'U') IS NOT NULL 
DROP TABLE #temp; 

CREATE TABLE #temp (
    ID INT NOT NULL, 
    PersonName VARCHAR(50) NOT NULL 
    ); 

INSERT #temp (ID, PersonName) VALUES 
    (1, 'Mark'), (2, 'Sally'), (3, 'Joe'), (4, 'Tammy'), (5, 'Bob'); 

SELECT * FROM #temp t; 

--======================================== 

DECLARE 
    @ID VARCHAR(100) = '', 
    @PersonName VARCHAR(1000) = ''; 

SELECT 
    @ID = CONCAT(@ID, ', ', t.ID), 
    @PersonName = CONCAT(@PersonName, ', ', t.PersonName) 
FROM 
    #temp t 
ORDER BY 
    t.ID; 

SELECT 
    ID = STUFF(@ID, 1, 1, ''), 
    PersonName = STUFF(@PersonName, 1, 1, ''); 

結果...

ID    PersonName 
--------------- ------------------------------ 
1, 2, 3, 4, 5 Mark, Sally, Joe, Tammy, Bob 

HTH、 ジェイソン

関連する問題