• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 347
  • Last Modified:

SQL Server Compare Parsed Strings

I'm trying to find all records in a table based on two parsed strings.  The first parsed string will be a series of IDs that need to be matched up to the IDs in the table.  The problem is that the IDs in the table are in one field that need to be parsed as well.  I've created a function fx_ParseString that will parse the string for me already. So far I have the following SQL Script:

SELECT *
FROM myTable
WHERE (SELECT * FROM fx_ParseString(IDs,'/')) IN
            (SELECT * FROM fx_ParseString(@IDs,'/'))

When I run this I get the following error:
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
0
chshelpdesk
Asked:
chshelpdesk
1 Solution
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
please try this (change "value" by the column name returned by the fx_parseString function
SELECT t.* 
FROM myTable t
CROSS APPLY fx_ParseString( t.IDs,'/')) x
WHERE x.value IN (SELECT f.value FROM fx_ParseString(@IDs,'/') f )

Open in new window

0
 
chshelpdeskAuthor Commented:
That's perfect.  Thanks!!
0

Featured Post

2018 Annual Membership Survey

Here at Experts Exchange, we strive to give members the best experience. Help us improve the site by taking this survey today! (Bonus: Be entered to win a great tech prize for participating!)

Tackle projects and never again get stuck behind a technical roadblock.
Join Now