我有以下查詢,我正在處理。目標是在不插入重複項的情況下插入符合where子句中的條件的[AppID]和隨機選擇的[ufid]。我研究了TABLESAMPLE和Random(),但無法弄清楚。SQL INSERT ISSUE WITH CTE
例如:#mult_nuf表有4個AppID = 123456和Major ='GEBOX'的記錄。 #temp_rUF將在ufid ='UF7'和sh_plan ='GEBOX'的表中有一個記錄。我需要將另一個[sh_plan]的[App_ID]和[ufid]插入臨時表中WHERE [Major ]和[sh_plan]不一樣。到目前爲止,每個[ufid]的記錄都以相同的[Appid]插入。我在表中有45個[ufid},所以臨時表有45個相同的[AppID]記錄。應該只有4個紀錄爲[的AppID]與4個隨機[UFID] ..
mult_nuf表
AppID Major
004540036 GEBOX
004540036 GEBOX
004540036 GEBOX
004540036 GEBOX
的#temp_ruf表
ufID sh_Plan
U1 GECCE
U2 REDSG
U5 GFRTY
U7 GEBOX
U8 JKIUTY
樣本輸出應該像
App_ID ufID
004540036 U1
004540036 U2
004540036 U5
004540036 U8
查詢我正在與
WITH Match_NomineesWithReviewers AS
(
SELECT DISTINCT
[AppID],
RTRIM(Major) AS Major
FROM
#mult_nuf
)
SELECT
m.[AppID],
r.ufid
INTO
#TempNTable
FROM
Match_NWithR m
CROSS APPLY
(SELECT ir.ufid
FROM #temp_rUF ir
WHERE m.Major <> ir.sh_plan) r
這個問題確實需要根據這些數據樣本數據和樣本輸出。 –
我添加了示例數據和輸出。 thxs – Rugster
這很混亂,因爲你描述的內容與你提供的數據不匹配。例如sh_plan和ufid在你的例子中沒有被命名。 – SQLChao