1

一意の値のみをテーブルに挿入しようとしていますが、機能していません。6000 行すべての Securities テーブルには、LastDownload の値が 1 つだけあります。しかし、私のクエリでは、@Temp でその値が 6000 回以上重複しています。値は 1 つだけ必要です。私は何が欠けていますか?

DECLARE @Temp TABLE ( Info VARCHAR( 256 ) )

INSERT INTO @Temp
SELECT LastDownLoad
FROM Securities AS S
WHERE NOT EXISTS( SELECT * FROM @Temp AS T WHERE T.Info = S.LastDownLoad ) 
4

3 に答える 3

2

両方の答えをまとめると、完全な答えが得られます。

DECLARE @Temp TABLE ( Info VARCHAR( 256 ) )

INSERT INTO @Temp
SELECT DISTINCT LastDownLoad
FROM Securities AS S
WHERE NOT EXISTS( SELECT * FROM @Temp AS T WHERE T.Info = S.LastDownLoad ) 
于 2012-05-09T17:02:09.653 に答える
2

多分これは単純すぎるかもしれません...しかし...それは合っているようです...

DECLARE @Temp TABLE ( Info VARCHAR( 256 ) )

    INSERT INTO @Temp
    SELECT Distinct LastDownLoad
    FROM Securities
于 2012-05-09T16:57:38.183 に答える
1

使ってみましたdistinctか?

DECLARE @Temp TABLE ( Info VARCHAR( 256 ) )

INSERT INTO @Temp
SELECT LastDownLoad
FROM Securities AS S
WHERE NOT EXISTS( SELECT DISTINCT * FROM @Temp AS T WHERE T.Info = S.LastDownLoad )
于 2012-05-09T16:56:57.747 に答える