sql高手快来帮帮我哈

来源:百度知道 编辑:UC知道 时间:2024/06/27 22:58:33
我的页面要显示很多不同版块的内容,我把他们都放在一张表中 他们都有
分类ID 还有是否作为第一条显示
象这样我要打开数据库 创建记录集 和SQL查询很多次
才能把每个版块的要想的到内容的到 但是那样可能会引响浏览起来非常慢。
我该用什么方法解决这个问题呢?
拜托大家帮帮忙哈
我是新手哈
答案尽量详细点哈 谢谢哈
我的SQL每次都只能选择一条满足要求的记录
例如:
set rs=server.CreateObject("adodb.recordset")
sql="select top 1 * from [soft_info] where soft_type_id='1' and soft_select_id='11' and soft_show_id='55' order by id desc"
rs.open sql,conn,1,1
if rs.bof and rs.eof then
response.Write("没有记录。请添加记录")

response.End()
end if

上面的SQL只能显示我要的有图片的记录的最后一条记录哈
而我下面的TD里面要循环出这一个类别的10条记录
我又只能在打开一次
象这样我的显示页面有很多这样不同类别的版块。就要打开很多次哈
我就想有什么办法能解决这个问题
各位高人就拜托了 小弟先谢谢呢
不管你的问题是否对我有效我都从心你去感谢你
我敢肯定的说 回答别人的问题并不是为了别人的分数哈
而是相互帮助。
相信大家都有过难处。不说了不管怎么样谢谢你们了哈。

SQL给了一个这样问题的很好的解决方案
那就是 连接查询 和 子查询功能
那是将多张有连接关系的表 进行连接起来的查询关系
能在一个窗口中显示多张表内的不同内容 但是前提必须有连接关系
可以进行左连接右连接
子查询也一样都必须有连接的表 否则是无法 连接或子查询的

很多时候 MS做的帮助还是很有用的 要多学会查找翻阅帮助文件,MS的帮助文件写的很全 你可以查到 T-SQL语句的内容

另外除了做连接查询以外 还可以在连接查询的基础上做一个

下面是给你的一些例子 你可以看看!

(一)内连接

内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种:

1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。

2、不等连接: 在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!<和<>。

3、自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。

SELECT *
FROM authors AS a INNER JOIN publishers AS p
ON a.city=p.city

SELECT a.*,p.pub_id,p.pub_name,p.country
FROM authors AS a INNER JOIN publishers AS p
ON a.city=p.city

(二)外连接

内连接时,返回查询结果集合中的仅是符合查询条件( WHERE 搜索条件或 HAVING 条件)和连接条件的行。而采用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接