向高手请教一个SQL多表关联查询排序的问题 35

有这样一个多表查询,查询表A,$key是接收的关键字,当B.key=$key才允许外连接B表,然后对B.cid进行DESC排序,请问这样的SQL语句如何写?补充一下:B是... 有这样一个多表查询,查询表A,$key是接收的关键字,当B.key=$key才允许外连接B表,然后对B.cid进行DESC排序,请问这样的SQL语句如何写?
补充一下:
B是对A中查询到符合$key的同时才关联B并且对B.cid 进行DESC排序的
必须满足B.key=$key才可以关联B表并且进行B.cid DESC
而且不可以WHERE B.key=$key
我现在就需要这样的语句。。。
例示这样:select * from A inner join(select * from B where key=$key ) on a.cid = b.cid order by b.cid desc (这个SQL是错误的)
展开
 我来答
百度网友d19d6e821
2006-05-27 · 超过14用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:0
展开全部
select a.*,b.*
(可以选择字段名称,注意两个表中重名的字段一定要加a.或b.,其他不重名的可以不加,但是为了以后的拓展,最好都加)
from [表A] as a left join [表B] as b
on a.$key=b.key
order by b.cid desc
(这样的话当b表中的b.key不在a表中的时候,b.*的字段都是空的,如果想改成你期望的类型,可以使用isnull函数,比如isnull(b.key,0)或isnull(b.key,'无')
百度网友0255e73
2006-05-27 · TA获得超过403个赞
知道小有建树答主
回答量:549
采纳率:0%
帮助的人:459万
展开全部
select a.*,b.cid from a inner join on a.关联字段 = b.关联字段 where b.key = $key order by b.cid desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式