一个查询数据库问题,高手进!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/07/08 01:28:58
有两个表,client,linkman,其中client关键字cId(自动编号),每一个cId对应表linkman中多条记录,现在我想做一个全查询,安client表cid顺序输出,同时也对其linkman表中的对应记录进行查询,如果有一条记录的mainlinkman值为true,则同时也将他输出,如果没有为true值的,则随便选择一个记录输出就行,高手指点
下面是我写的一点代码,只判断了为true的情况:
rs.Open "Select * From client as a , linkman as b Where a.cId=b.cId and b.mainlinkman=true Order By cId Desc",conn,3,1

分数只有这么多了,高手帮忙~~~谢谢
如果能查询到多个,又没有满足mainlinkman=true的,就随便输出一个;没有查询到,就不用输出了

是先判断查询的linkman表记录中是否有满足mainlinkman=true的,如果没有执行select top 1查询

二楼的查询也有问题,我的意思是的对client的每一个,如果的一种查询没有结果,就执行你的第二种查询,你的是对所有查询如果返回空,才执行第二个查询

只输出一条记录吗
给你一个建议,再同时查询两个表的时候,不用使用* 号
这样会出现数据冗余的
select top 1 a.cld b.mainlinkman from client as a , linkman as b Where a.cId=b.cId and b.mainlinkman=true Order By cId Desc

还有问题,给我发短消息吧

很简单,我想你一看就明白
楼上的jinglinggg你好像啥也没回答阿

rs.Open "Select * From client as a , linkman as b Where a.cId=b.cId and b.mainlinkman=true Order By cId Desc",conn,3,1

if rs.eof or rs.bof then
rs.close
set rs=nothing
rs.Open "Select top 1 * From client as a , linkman as b Where a.cId=b.cId Order By cId Desc",conn,3,1
end if

至于怎么输出,在下面你可以输出循环的时候判断就行了