首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql关联查询解决方案

2012-03-29 
sql关联查询问题是这样的数据库中有三张表信息分类表newsclass字段有idclassnameformname信息表news字段有

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

热点排行