作者howardandy (醉苍穹)
看板Database
标题Re: [SQL ] 高考SQL题目
时间Sun Aug 14 20:20:50 2011
※ 引述《kisha024 (4545454554)》之铭言:
: Member(mId, name, bDate, gender)
: //会员编号,姓名,生日,性别
: FriendRelation(mId, setDateTime, friend)
: //会员编号,加入日期时间,朋友编号
: Article(mId, aId, title, content, postDate)
: //会员编号,文章编号,标题,内容,张贴日期
: Reply(mId, aId, rTime, content, responder)
: //会员编号,文章编号,回覆日期时间,回覆内容,回覆者
: 1.列出被最多会员列为好友的会员之编号、姓名和生日
: 各位好 请问这题该如何写呢?
: THX
看过去虽然有四个TABLE,实际语意让我觉得只用到前两个?
请问这题有很多小题吗?
member and friend 这两个table
FriendRelation.friend 内容应该会=mid 请问题目有说明吗?
先找出 FriendRelation.friend 该栏位 最多被记录的然後回头查
FriendRelation出 mid 然後关连到 member 这样会写了吗?
-- ORACLE --
SELECT T3.MID, T3.NAME, T3.BDATE, T2.FRIEND
FROM (SELECT *
FROM (SELECT T.FRIEND, COUNT(*) CNT
FROM FriendRelation T
GROUP BY T.FRIEND
ORDER BY CNT DESC) T1
WHERE ROWNUM = 1) T2,
Member T3
WHERE T3.MID = T2.FRIEND
-- MS-SQL --
SELECT T2.MID,T2.NAME,T2.BDATE,T1.FRIEND
FROM (SELECT TOP 1 FRIEND,COUNT(*) AS CNT
FROM FriendRelation
GROUP BY FRIEND
ORDER BY CNT DESC ) AS T1 ,
MEMBERS T2
WHERE T1.FRIEND = T2.MID
应该是这样写吧 = = 我手边没办法帮你测 囧
另外ORACLE 那段 要回答答案的话 T2.FRIEND
AND MS-SQL T2.FRIEND 都要拿掉
因为题目没有说要显示这个。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 110.24.79.160