改下: select a.* from A inner join B on charindex(','+cast(A.F1 as varchar)+',',','+B.F1+',')>0
真快啊, thank u,马上结贴
晕,我用的是OLEDB连接的,不能用charindex函数
access试试用 InStr 代替 charindex .
用WHERE INDECLARE @A VARCHAR(50) DECLARE @SQL NVARCHAR(4000) SET SELECT @A=F1 FROM B SET @SQL=N'SELECT * FROM A WHERE ID IN('+@A+N')'EXEC SP_EXECUTESQL @SQL
DECLARE @A VARCHAR(50) DECLARE @SQL NVARCHAR(4000) SET SELECT @A=F1 FROM BSELECT * FROM A WHERE ID IN(''''+REPLACE(@A,',',''',''')+'''')
select a.* from A inner join B on charindex(','+cast(A.F1 as varchar)+',',','+B.F1+',')>0
DECLARE @SQL NVARCHAR(4000)
SET SELECT @A=F1 FROM B
SET @SQL=N'SELECT * FROM A WHERE ID IN('+@A+N')'EXEC SP_EXECUTESQL @SQL
DECLARE @SQL NVARCHAR(4000)
SET SELECT @A=F1 FROM BSELECT * FROM A WHERE ID IN(''''+REPLACE(@A,',',''',''')+'''')