CREATE TABLE ta(ID INT,RID VARCHAR(10),FID VARCHAR(10))
INSERT Ta SELECT 1,   'R123',   '123'
UNION ALL SELECT 2,   'R0'   ,  '456'
UNION ALL SELECT 3,   'R11'   , '789' 
CREATE TABLE tb(ID INT,FID VARCHAR(10))
INSERT Tb SELECT 1,12
UNION ALL SELECT 2,123
UNION ALL SELECT 3,789
CREATE TABLE tc(ID INT,PID VARCHAR(100))
INSERT Tc SELECT 1,   'R11'
UNION ALL SELECT 2,   '123,R0,33'
UNION ALL SELECT 3,   'R0,12'SELECT c.*,COUNT(*) CNT FROM tc c
INNER JOIN
(SELECT RID FROM Ta
UNION
SELECT FID FROM tb) x
ON CHARINDEX(','+x.RID+',',','+c.PID+',')>0
GROUP BY ID,PID
HAVING COUNT(*)<>LEN(REPLACE(PID,',',',,'))-LEN(PID)+1DROP TABLE ta,tb,tc/*结果
ID PID
2 123,R0,33
*/