A string parsing function like the one found here together with a CROSS APPLY should do the trick.
CREATE FUNCTION [dbo].[fnParseStringTSQL] (@string NVARCHAR(MAX),@separator NCHAR(1))
RETURNS @parsedString TABLE (string NVARCHAR(MAX))
AS
BEGIN
DECLARE @position int
SET @position = 1
SET @string = @string + @separator
WHILE charindex(@separator,@string,@position) <> 0
BEGIN
INSERT into @parsedString
SELECT substring(@string, @position, charindex(@separator,@string,@position) - @position)
SET @position = charindex(@separator,@string,@position) + 1
END
RETURN
END
go
declare @tableA table (
id int,
misc char(1)
)
declare @tableB table (
misc varchar(10),
miscTitle varchar(20)
)
insert into @tableA
(id, misc)
values
(1, '1')
insert into @tableB
(misc, miscTitle)
values
('1,2,3','help me please')
select id
from @tableB b
cross apply dbo.fnParseStringTSQL(b.misc,',') p
inner join @tableA a
on a.misc = p.string
where b.miscTitle = 'help me please'
drop function dbo.fnParseStringTSQL