日期:2014-05-18  浏览次数:20669 次

sql关联查询
问题是这样的
数据库中有三张表
信息分类表newsclass 字段有id classname formname
信息表news 字段有id newsclassid title content
扩展表form 字段有id formname newssqlwhere values

扩展表中存储的数据通过信息分类表中的formname字段来区分
扩展表中的newssqlwhere字段用来存储在查询news表时的条件


如何使用sql关联查询语句
查询news表中的数据时查询到和news中数据关联的form表中的数据

求教各位高手给个思路额
或者帮忙写几条关联查询的语句出来额
谢谢了



------解决方案--------------------

SQL code

select a.*,c.*
from news as a left join newsclass as b on a.newsclassid=b.id 
left join forms as c on  b.formname=c.formname

------解决方案--------------------
还是你要的是把forms表中查出来的数据做为查询news表的条件?
如果是这样的话需要用动态语句了~
------解决方案--------------------
在客户端获取扩展表中的内容:
select * from form where 条件
然后,把查询结果中的条件取出来,设为 xxx yyy
在客户端拼查询语句:
sql="select a.classname,b.title,b.content from newsclass a inner join news b on a.id=b.newsclassid where " & xxx & "=" & yyy
再执行:
set rs=conn.execute sql

不同语言写法不同,但做法就是这样.
------解决方案--------------------
先在客户端拼接SQL语句select a.*,c.*
from news as a left join newsclass as b on a.newsclassid=b.id 
left join forms as c on b.formname=c.formname where.............

, 再在程序里执行exec