我有一个题目不会做 请高手能够帮我解决

sunayuan 2007-12-11 12:43:36
给出下面表写出相应的SQL语句
用户表 自驾游信息表 留言
用户id char(32) pk 自驾游ID char(32) <pk> 留言ID char(32) pk
用户名称 varchar(100) 发布人ID char(32) <fk> 自驾游ID char(32) fk1
用户密码 varchar(100) 自驾游主题 TEXT 用户ID char(32) fk2
发布时间 datetime 留言内容 varchar(500)
留言时间 datetime
报名
报名ID char(32) pk
用户ID char(32) fk1
自驾游ID char(32) FK2


统计某个用户报名多少个自驾游?


列出某个用户在“南京一日游”这个自驾游上浏览内容和时间


列出报名“南京一日游”自驾游而没有在这个自驾游上浏览用户列表


...全文
224 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yms_wangxm 2007-12-14
  • 打赏
  • 举报
回复
--统计张三用户报名多少个自驾游?
select count(*) from 报名 a inner join 用户表 b on 用户id=用户id and b.用户名称='张三'

--列出张三用户在“南京一日游”这个自驾游上浏览内容和时间

select a.自驾游主题,c.留言时间,c.留言内容 from 自驾游信息表 a
inner join 用户表 c on c.用户id=d.用户id
inner join 留言 d on d.自驾游id=a.自驾游id
where 用户名称='张三' and a.自驾游主题='南京一日游'

--列出报名“南京一日游”自驾游而设在这个自驾游上浏览用户列表

select 用户名 from 用户表
inner join 报名 on 用户表.用户id=报名.用户id
inner join 自驾游信息表 on 自驾游信息表.自驾游ID=报名.自驾游ID
where 用户名称 not exists (select * from 留言 inner join 报名 on 留言.用户id=报名.用户id and 留言.自驾游ID=报名.自驾游ID)
and 自驾游信息表.自驾游主题='南京一日游'
jhldelphi 2007-12-14
  • 打赏
  • 举报
回复
yun
sunayuan 2007-12-12
  • 打赏
  • 举报
回复
大家看看我的答案是不是上面的题目的答案 。1:declare @@a int set @@a=(select 用户id from 用户表 where 用户名='张三')
select count(自驾游id) from 报名 where 用户id=@@a
2:declare @@a int set @@a=(select 用户id from 用户表 where 用户名='张三')
declare @@b int set @@b=(select 自驾游id from 自驾游信息表 where 自驾游主题='南京一日游')
select 留言内容,留言时间 from 留言 where 用户id=@@a and 自驾游id=@@b
3:declare @@a int set @@a=(select 用户id from 用户表 where 用户名='张三')
select * from 用户表 where 用户id in(select 用户id from 报名 where 自驾游id=@@a)
and 用户表.用户id not in (select 用户ID from 留言 where 留言.自驾游ID='南京一日游')
如果是错误的话帮我修改一下
yowbell 2007-12-12
  • 打赏
  • 举报
回复
来晚了,接分来了
cxmcxm 2007-12-11
  • 打赏
  • 举报
回复
--统计某个用户报名多少个自驾游? 
select count(*) from 报名 where 用户id='用户id'

--是否查留言
--列出某个用户在“南京一日游”这个自驾游上浏览内容和时间
select * from 留言 where 用户id='用户id'
and 自驾游id in (select 自驾游id from 自驾游信息表 where 自驾游主题='南京一日游')


--列出报名“南京一日游”自驾游而没有在这个自驾游上浏览用户列表

select a.* from 用户表 a,报名 b,自驾游信息表 c
where a.用户id=b.用户 and b.自驾游id=c.自驾游id and c.自驾游主题='南京一日游'
and not exists(select * from 留言 where 自驾游id=b.自驾游id and 用户id=a.用户id)
sunayuan 2007-12-11
  • 打赏
  • 举报
回复
谢谢3楼的回答 ,第二题就是这个题目 第三个题目是列出报名“南京一日游”自驾游而设在这个自驾游上浏览的用户列表 我在等待的各位朋友的好消息。请会这个题目的朋友帮我一下。我先在这谢谢啊
andysun88 2007-12-11
  • 打赏
  • 举报
回复
统计某个用户报名多少个自驾游?[做個參考]
answer:

select count(*) from 自驾游信息表
left join 报名 on 自驾游信息表.自驾游ID=报名.自驾游ID
left join 用户表 on 报名.用户ID = 用户表.用户id
where 用户表.用户id = 某个用户
---con

"列出某个用户在“南京一日游”这个自驾游上浏览内容和时间 "可能你自己寫錯了吧,應該是留言的內容和時間吧
wzy_love_sly 2007-12-11
  • 打赏
  • 举报
回复
主要是卡不懂
sunayuan 2007-12-11
  • 打赏
  • 举报
回复
还没有人会吗 请大家多帮助我好吗? 我急的需要。谢谢大家哦

34,838

社区成员

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

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