打印

[asp] 同时调用两个数据表的问题

我有两个表NEWS和CLASS
NEWS包括ID,NAME,和CID对应文章序号,文章题目和类别号
class包括CID,CNAME对应类别号和类别名字,
现在我想按如下格式显示
[类别名][文章题目]
这个该怎么做?
是调用两个RS记录集吗,怎么对应。。。
高手帮忙解释下,新手。。
最好能稍微给下代码
补充:刚才意思没有说明白,我的意思是以文章题目为主,就是我想显示文章表里的所有文章,然后在类别名字是附带显示的

[ 本帖最后由 sk0219 于 2008-6-23 10:56 编辑 ]
select cname,name from news,class where news.cid=class.cid
select a.name,b.cname from [news] as a left join [class] as b on a.cid=b.cid

楼主应该先把2个表主键先确定,是否2标的相关依据是否是其ID值呢?

楼主应该先把2个表主键先确定,是否2表的相关依据是否是其ID值呢?
1个ID对于一个文章名,1个CID对于一个类别名吗?是否具有唯一性,这些都没有确定,我真不知道如何去解决这个问题??

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!

。。。。

2楼的方法结果是只显示两表ID相同的相关数据。无ID相同情况不显示!
3楼的则是显示所有ID相关信息,包括一表中没有,另一表中有的ID信息!

TOP

。。。。

补充一下,3楼的方法是左联合查询,以左表为依据。不过个人感觉这里应该不是这种情况。

TOP

不需要这么麻烦的,先建一个视图将2个表连接起来:
View_NewsInfo:
复制内容到剪贴板
代码:
Select News.*,Class.CName AS CName Where News.CID=Class.CID
然后用一个记录集就解决问题了,想怎么显示怎么显示,比如要实现楼主的想法:
复制内容到剪贴板
代码:
Select ID,NAME,CNAME From View_NewsInfo
要最大限度的发挥数据库的作用,而不是在程序上花脑筋,这样可以提高代码运行性能,减少错误操作。

TOP

楼主的设计有问题,按正规的,一个文章必须有一个类别,那么用二楼的就可解决。你现在是有的文章可能并没有类别,但你要显示。那你只能说取文章表,然后用函数动态取类别表,遇到没记录的就输出无类别

TOP