0
分離ID我寫一個存儲過程,我想從一個表,其中的ID是在另一個表中找到從昏迷分隔值選擇多個ID(1 ,2,3,6)。存儲過程 - 從表中選擇的ID,並用逗號匹配它從不同的表
這就是我正在寫的東西。但它沒有按預期工作。
SELECT [Name]
FROM [Table1] t1
INNER JOIN [Table2] t2 ON REPLACE(t1.[ID], ',', '') = t2.[ID]
分離ID我寫一個存儲過程,我想從一個表,其中的ID是在另一個表中找到從昏迷分隔值選擇多個ID(1 ,2,3,6)。存儲過程 - 從表中選擇的ID,並用逗號匹配它從不同的表
這就是我正在寫的東西。但它沒有按預期工作。
SELECT [Name]
FROM [Table1] t1
INNER JOIN [Table2] t2 ON REPLACE(t1.[ID], ',', '') = t2.[ID]
這就是答案
SELECT [Name]
FROM [Table1] t1
INNER JOIN [Table2] t2
ON ',' + t1.[ID] + ',' like '%,' + cast(t2.[ID] as nvarchar(20)) + ',%'
不可以這是一種解決方法。正確的答案是規範化數據庫,永遠不要將值存儲爲以逗號分隔的文本。 –
像存儲過程程序代碼是**高度特定供應商的** - 所以請添加標籤到指定是使用了'mysql','PostgreSQL的','sql-server','oracle'或'db2' - 或者其他的東西。 –