数据库查询?

update 2005-11-08 12:49:12
问题是这样的,我写了个电影台程序,现在要加个功能,进行数据库清理,比如,影片类型原来有喜剧片\动作片\爱情片三种,所有添加的影片资料都归并在这些类型种,假如我现在删除了爱情片这个类型,此时影片资料中与爱情片关联的ID就失去了作用,现在把原属于爱情片的电影的ID都找出来,怎么做?
影片类型表结构:
classid 类型ID,自动编号
classname 类型名称

影片资料库表结构:
movieid 影片ID,自动编号
moviename 影片名称
classid 属于类型的类型ID

现在要实现的就是把原属于爱情片的电影的movieid全部找出来,用一句SQL怎么写?
...全文
102 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dh20156 2005-11-08
  • 打赏
  • 举报
回复
Select * From [影片资料库] Where classid not in (Select distinct classid From [影片类型])
update 2005-11-08
  • 打赏
  • 举报
回复
楼上的还是没明白我的意思啊,爱情片既然都已经删除了,还怎么
where classname='爱情片' 啊.
现在相关联的只是两个表都有个classid,我要找出在类型表movieclass中没有而在资料表movielist中有的classid的那些记录的movieid.
dh20156 2005-11-08
  • 打赏
  • 举报
回复
看你的表结构好象只能通过classid来查了,直接搜索classid等于原来[爱情类]的id就好了。
haver.G 2005-11-08
  • 打赏
  • 举报
回复
select A.movieid from 影片资料库 A Left join 影片类型表 B on A.classid=B.classid where B.classname='爱情片'
update 2005-11-08
  • 打赏
  • 举报
回复
还是upload提醒的对,我在资料表里的classid是数字型,在类型表里的是自动编号,现在问题解决了,谢谢大家啊.
upload 2005-11-08
  • 打赏
  • 举报
回复
首先确定两个表的 classid 字段类型都是数字型:
sql="select movieid,classid from movielist where (classid not in (select classid from movieclass))"
rs.open sql,conn,1,2
if not rs.eof then
do while not rs.eof
response.write rs("movieid") & "<br>"
rs.movenext
loop
end if
rs.close
set rs=nothing
webdevelop 2005-11-08
  • 打赏
  • 举报
回复
select 影片资料库.*,影片类型表.* form 影片类型表 join 影片资料库 ON 影片类型表.classid=影片资料库.classid where 影片资料库.classname="爱情片"

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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