[英]How to compare two different comma separated string values and check if ANY of the values from a different comma separated string exists in the first
我希望我能解釋清楚。 如果不清楚,請詢問
我有一個查詢來檢索用戶的數據,該用戶可以訪問某些實體。
基本上,在我的用戶表中有一列,用戶可以在其中擁有一個或多個逗號分隔的整數。 以下是一些示例:
表格1
User #1 value: ,1,
User #2 value: ,1,3,5,12,
User #3 value: ,12,
User #4 value: ,14,3,5,
User #5 value: ,14,
我的秒表有一個非常相似的字段。 如果我在第二張表中有一條類似於以下的記錄:
表#2
User #1 value: ,3,
User #2 value: ,3,
User #3 value: ,3,
User #4 value: ,10,
User #5 value: ,11,5,12,
User #6 value: ,5,12,
因此,我想實現的目標是從表#1中獲取用戶#2的值,而我想讓表#2中的所有用戶都包含在用戶#2的值中。 由於用戶#2具有,1、3、5、12,因此我應該從表#2獲得結果,如下所示:
User #1
User #2
User #3
User #5
User #6
我目前正在使用以下內容:
SELECT a.Name
FROM TABLE2 a
WHERE
CharIndex(','+convert(varchar,a.Agency)+',',(Select Agency from TABLE1 where UserID = 123)) > 0
這似乎並沒有產生我想要的結果。 如果表#1中只有1個值(例如,3)而不是多個值,那么這將非常有用。
您可以嘗試以下查詢以獲得預期結果。
SELECT DISTINCT a.Name
FROM TABLE2 a,
dbo.Split((SELECT Agency
FROM TABLE1
WHERE UserID = 2),',') AS b
WHERE a.Agency LIKE '%,'+b.Slit_Func_ColumnName+',%'
使用SPLIT
功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.