求sql多表查询
a表放文章,b表放文章中的图片地址。
当文章无图,则不写入b表。
现要查a表中有图的文章。
注:a表中的记录ID字段,对应b表中记录的FID字段
它们是这样的关系,如:a表中ID为13,b表中FID为pic13
------解决方案--------------------Select a.* From [文章] a inner join [图片] b on 'pic '+a.id=b.fid
------解决方案--------------------Select a.* From [文章] a inner join [图片] b on 'pic '+convert(varchar(10),a.id)=b.fid
------解决方案--------------------Select a.* From [文章] a inner join [图片] b on 'pic '+a.id=b.fid
可能会报转换数据类型错误!
非要如此,必须转换数据类型:
on 'pic '+cast(a.id as varchar) = cast(b.fid as varchar)
------解决方案--------------------但出现了一个问题,当一篇文章有多个图片时,查出来的记录就有重复的了
-->
Select a.* From [文章] a inner join (Select distinct fid From [图片]) b on 'pic '+cast(a.id as varchar) = cast(b.fid as varchar)