求一SQL语句,

疯狂秀才2018 2006-03-20 05:43:16
我有三个表
A表:AID,ANAME
DATA:1,AAA
2,BBB
3,CCC
.......
B表:BID,BNAME,AID
DATA:1,1A,1
2,2A,1
3,3A,2
C表:BID,CTIME
DATA:1,2006-3-18 15:59
2,2006-3-18 14:50

三张表联合查询,查出的结果为日期最晚的一条数据,BNAME不允许重负
...全文
103 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
da21 2006-03-20
  • 打赏
  • 举报
回复
试试这样,应该行的!
Select A.AID, A.ANAME, B.BID, B.BNAME, C.CTIME
FROM A, B ,C
WHERE A.AID = B.BID AND B.BID = C.BID
AND C.CTIME = (SELECT MAX(CTIME) FROM C )
;
zhaoanle 2006-03-20
  • 打赏
  • 举报
回复
--试试

select a.aid,a.aname,b.bname,b.bid,c.ctime from 表A a,表B b,表C c where not exists(select 1 from 表C where bid=c.bid and ctime>c.ctime)
and a.aid=b.aid and b.bid=c.bid
aniude 2006-03-20
  • 打赏
  • 举报
回复
MARK
happywang11 2006-03-20
  • 打赏
  • 举报
回复
SELECT A.AID,A.ANAME,B.Bid,DISTINCE B.BNAME,B.AID,C.BID,C.CTIME
FROM A INNER JOIN B ON A.AID = B.AID
INNER JOIN C ON B.BID = C.BID
ORDER BY C.CTIME DESC
Comer 2006-03-20
  • 打赏
  • 举报
回复
如果说不清你想要的结果,那就把你的真实数据列举一下,然后列出你要的结果
Comer 2006-03-20
  • 打赏
  • 举报
回复
真的看不懂楼主想要什么
zlp321002 2006-03-20
  • 打赏
  • 举报
回复
--不知道你,要什么样的结果.??

SELECT A.Aint,A.ANAME,B.Bint,B.BNAME,B.AID,C.BID,C.CTIME
FROM A表 A LEFT JOIN B表 B
ON A.Aint=B.AID LEFT JOIN C表 C
ON B.Bint=C.BID

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧