How to join comma separated column values with another table as rows
You've forgotten to supply expected results, so this is a stab in the dark, however, what's wrong with splitting your string and using the results with a JOIN
:
SELECT {Needed Columns}
FROM dbo.Procure_InquiryDetails PID
CROSS APPLY STRING_SPLIT(PID.SupplierId,',') SS
JOIN dbo.Vendor V ON SS.[value] = V.SupplierID;
Ideally, however, you shouldn't be storing delimited data in your RDBMS. Considering switching to a proper normalised many-to-many relationship structure.
If you're still on SQL Server 2008 (to which I would highly recommend you upgrade), then you can use delimitedsplit8k, or on 2012/2014 you can use delimitedsplit8k_lead.
Assuming you're using SQL Server 2016, you can use string_split()
to parse out your CSV column (aside: comma-separated values in a field is a sign of a poor data model) without resorting to a CTE or XML methods.
select I.inquiry_id, sup.value,V.Name
from Procure_InquiryDetails I
CROSS APPLY string_split(I.supplier_value,',') sup
join Vendor v on v.DCLink = sup.value