[英]'Multiple' values for a variable
一點背景。 多個數據庫中有多個表具有相同的模式。 因此,當我查詢 select 具有相同主代碼的所有列(在表中,主代碼位於名為 CATMASTRCAT 的列中)時,相同的代碼將有多個行,它們唯一相同的是 CATMASTRCAT 列。 這適用於單個主代碼(在下面的腳本中,如果我將變量設置為 031325-002-70,它將顯示具有不同組織的多行和與 rest 相同的數據,這是期望的結果)。
問題是,有沒有辦法讓多個主代碼作為變量的輸入? 我打算將其創建為存儲過程。
這是我的 SQL 腳本:
DECLARE @ProductNumber AS VARCHAR(1000)
SET @ProductNumber = ('031325-002-70')
SELECT ITEMS
,ORGANIZATION
FROM [EU].[dbo].[SOMETHING14]
WHERE ITEMS in (@ProductNumber)
UNION
SELECT ITEMS
,ORGANIZATION
FROM [EU].[dbo].[SOMETHING12]
WHERE ITEMS in (@ProductNumber)
UNION
SELECT ITEMS
,ORGANIZATION
FROM [EU].[dbo].[SOMETHING11]
WHERE ITEMS IN (@ProductNumber)
請隨時澄清任何其他需要的數據。 我對SQL比較陌生,只是自學。 你也可以教我錯誤的代碼哈哈以及如何做得更好。
謝謝!
PS附上查詢結果圖片
是的,最好的方法是使用表值參數,然后將 where 子句更改為
WHERE catmastrcat IN (SELECT catmastrcat FROM @tablevaluename)
或者您可以使用內部聯接——這可能會更快,具體取決於索引和其他問題——代碼如下所示
JOIN @tablevaluename tv ON AJF_CATMASTER.catmastrcat = tv.catmastrcat
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.