私はテンポラリテーブルとダイナミッククエリの両方で作業しています。私の要件は、私はいくつかのユニークな値を挿入しています一時テーブルです。その後、一時テーブルから私はユニークなキーを取得し、どこに条件を実装します。これは、条件でを働いていないSQL Server:動的クエリ内でテンポラリテーブルを実行
SET @QueryHeader = 'SELECT * from XYZ B'
SET @MainQuery = @QueryHeader
SET @MainQuery += ' WHERE B.uniquekey in (SELECT distinct ukey FROM #TempUniqueKeyTable WHERE ukey='''+CONVERT(NVARCHAR(MAX),@UniqueKey)+''')) '
EXEC (@MainQuery)
:
Create Table #TempUniqueKeyTable
(
ID BIGINT IDENTITY PRIMARY KEY,
ukey uniqueidentifier
)
INSERT INTO #TempUniqueKeyTable (ukey)
SELECT followedTo
FROM tblFollowers
WHERE FollowedBy = @uniqueKey
INSERT INTO #TempUniqueKeyTable (ukey)
SELECT connectionRequestTo
FROM tblConnection
WHERE connectRequestBY = @uniqueKey
INSERT INTO #TempUniqueKeyTable (ukey)
SELECT connectRequestBY
FROM tblConnection
WHERE connectionRequestTo = @uniqueKey
ダイナミッククエリ:ここ
はコード
一時テーブルです。この部分は、あなたが余分な右括弧を持って、私はそれが
SELECT *
FROM XYZ B
WHERE B.uniquekey IN (SELECT DISTINCT ukey
FROM #TempUniqueKeyTable
WHERE ukey = '1EA8658C-F978-4DC7-9ABF-E4FF253A2284')
のような生成されたクエリを表示PRINT
コマンドを実行すると、それは
SELECT * from XYZ B
WHERE B.uniquekey in ('A5B6BC01-5FEB-4554-90A7-4B5ADCC00D36','F75C6303-40EB-4119-A45A-D122E8118FA4')
動的ステートメント内で宣言/作成する必要があります。文字列を1つのステートメントにまとめるだけです。 – scsimon
@scsimonどのようなコードになりますか、私は何を書くのか考えていません。私はたくさんのことを試しました – Anjyr
心配はありません。私は携帯電話に乗っていますが、誰かが私が確信している分に答えがあります。 – scsimon