日期:2014-05-17  浏览次数:20849 次

求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)