1
我必須用逗號分隔的獲取ID值,然後從另一個表
GoalTag:All Tags,TaskTag:All Tags,GoalId:All,TaskId:All,MaxGoal:5,MaxTask:5
正如你可以看到我有以逗號分隔的6個值一列值中獲得價值,所以當我做分裂第一個值將是
GoalTag:All Tags
如何我這樣做(讓用英文逗號分隔值是)通過調用表值函數
Select * from dbo.CustomSplit((SELECT FilterNames FROM TblUserFilterView where UserId = 325 AND Entity = 'Dashboard'),',')
爲dbo.CustomSplit
的定義看起來像
ALTER FUNCTION [dbo].[CustomSplit](@String varchar(8000), @Delimiter char(1))
returns @temptable TABLE (Items varchar(8000))
as
begin
declare @idx int
declare @slice varchar(8000)
select @idx = 1
if len(@String)<1 or @String is null return
while @idx!= 0
begin
set @idx = charindex(@Delimiter,@String)
if @idx!=0
set @slice = left(@String,@idx - 1)
else
set @slice = @String
if(len(@slice)>0)
insert into @temptable(Items) values(@slice)
set @String = right(@String,len(@String) - @idx)
if len(@String) = 0 break
end
return
end
現在我需要做的是,我需要的值之後,":"
即「所有標籤」,它可能會有一些ID爲其他一些記錄,讓我們說,這可能是「142」。我需要得到這個Id,然後從表中獲取相應的值。
我該怎麼做?
是的,它正確地賦予價值,而是作爲一個獨立連續記錄;除此之外,我需要他們一個一個,並從表中獲取相應的值。 – nrsharma
_(...)從table_中獲取相應的值,請在獲取這些id後,通過解釋過程中的下一步來編輯您的問題。 –
謝謝;它爲我工作。我會管理下一步的事情。 – nrsharma