select A.filename,B.sendid where A.filename=B.filename and charindex((convert(varchar(10),B.sendid)+','),(A.sendid+','))<>0
说清楚呀,这么多字段,什么关系。可以: SELECT A.filename,B.sendid FROM A,B WHERE A.ID=B.ID可以: SELECT A.filename,B.sendid FROM A,B WHERE A.sendid LIKE '%'+CAST(B.sendid AS VARCHAR(10))+'%'也可以: SELECT A.filename,B.sendid FROM A,B WHERE A.sendid =CAST(B.id AS VARCHAR(10))+CAST(B.sendid AS VARCHAR(10))可能还有!
同意楼上 或者 SELECT A。FILENAME,B。SENDID FORM A INNER JOIN B ON A。ID=B。ID
where A.filename=B.filename
and charindex((convert(varchar(10),B.sendid)+','),(A.sendid+','))<>0
SELECT A.filename,B.sendid
FROM A,B
WHERE A.ID=B.ID可以:
SELECT A.filename,B.sendid
FROM A,B
WHERE A.sendid LIKE '%'+CAST(B.sendid AS VARCHAR(10))+'%'也可以:
SELECT A.filename,B.sendid
FROM A,B
WHERE A.sendid =CAST(B.id AS VARCHAR(10))+CAST(B.sendid AS VARCHAR(10))可能还有!
或者
SELECT A。FILENAME,B。SENDID FORM A INNER JOIN B ON A。ID=B。ID
我是要找出B表中sendid字段包含在A表中sendid字段的记录
比如2包含在字符串“1,2“ 里面
select A.filename,B.sendid
where A.[id]=B.[id]
and charindex((convert(varchar(10),B.sendid)+','),(A.sendid+','))<>0
因为如果用like来比较的话,可能有些问题,比如12,18 like '%1%'满足条件,但1没有包含在里面
,但是6并没有包含在里面,所以应该在两边都加一个逗号,在进行比较!
改为:
select A.filename,B.sendid
where charindex(',"+(convert(varchar(10),B.sendid)+','),(','+A.sendid+','))<>0