Click here to Skip to main content

hasbina asked:

Open original thread
Hi,
I have a table with data as below.
 
NO ID
-- ------
1 baca
2 ada
3 ebe
4 ec
 

select column ID between 1 and 4.then pass each
row of ID column into below function as
 
select distinct Val from dbo.ParseValues('baca','')
where Val !=''
 

 
CREATE FUNCTION ParseValues1
(@String varchar(8000), @Delimiter varchar(10) )
RETURNS @RESULTS TABLE (ID int identity(1,1), Val varchar(50))
AS
BEGIN
DECLARE @Value varchar(100)
WHILE @String is not null
BEGIN
SELECT @Value=CASE WHEN PATINDEX('%'+@Delimiter+'%',@String) >0 THEN LEFT(@String,PATINDEX('%'+@Delimiter+'%',@String)-1) ELSE @String END, @String=CASE WHEN PATINDEX('%'+@Delimiter+'%',@String) >0 THEN SUBSTRING(@String,PATINDEX('%'+@Delimiter+'%',@String)+LEN(@Delimiter),LEN(@String)) ELSE NULL END
INSERT INTO @RESULTS (Val)
SELECT @Value
END
RETURN
END
it give distinct ID from each row.
 
then combine each row result into a table and get result table as below
 
ID
--
b
a
c
a
d
e
b
 
then, finally find distinct count of ID column as 5(a,b,c,d,e).
 
how to write a stored procedure for getting above result?
 
thanks.
Tags: StoredProcedures

Preview



When answering a question please:
  1. Read the question carefully.
  2. Understand that English isn't everyone's first language so be lenient of bad spelling and grammar.
  3. If a question is poorly phrased then either ask for clarification, ignore it, or edit the question and fix the problem. Insults are not welcome.
Let's work to help developers, not make them feel stupid.
Please note that all posts will be submitted under the The Code Project Open License (CPOL).



Advertise | Privacy | Mobile
Web01 | 2.8.150224.1 | Last Updated 26 Mar 2009
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100