CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

跪求一视图写法

楼主love_AC(呵呵,来分享!)2005-11-18 16:19:15 在 MS-SQL Server / 基础类 提问

表一:Dept      
   
  DeptCode(主键),DeptName  
   
  表二:   Person  
  PersonCode(主键),PersonName,DeptCode  
   
  表三:   View  
  PersonCode,DeptCode  
  View表与前两个表没有主外键关系,  
  只是PersonCode的值来自Person,DeptCode的值来自Dept,可重复  
   
  写视图,取出Dept中的DeptName,但过滤掉View  
  中的DeptName  
   
  例如:  
  Dept  
  1       人力  
  2       财务  
  3       市场  
   
  Person  
  05     张三  
  06     李四  
   
  View  
  05     1  
   
  那么得到的张三的结果就是  
  2       财务  
  3       市场  
  李四的是  
  1       人力  
  2       财务  
  3       市场  
   
   
  问题点数:100、回复次数:5Top

1 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-11-18 16:33:14 得分 20

无法生成这样的视图,因为视图所依赖的筛选条件[PersonName]是非确定性的,无法在视图创建时给定。Top

2 楼520zyb(欲穷千里目,更上一层楼)回复于 2005-11-18 16:58:09 得分 20

写存储过程:  
  select   *   from   Dept   D   where   not   exists(select   *   from   View   V   JOIN   Person   P   ON   V.PersonCode   =   P.PersonCode   WHERE   p.PersonCode   =   @PersonCode   AND   V.DeptCode   =   D.DeptCode)Top

3 楼love_AC(呵呵,来分享!)回复于 2005-11-18 17:07:20 得分 0

谢谢楼上,我也想到过.  
  存储过程好写,但这里必须要用到视图.Top

4 楼520zyb(欲穷千里目,更上一层楼)回复于 2005-11-18 17:29:01 得分 50

想把结果当作表来使用,那就改用函数吧:  
  CREATE   FUNCTION   fn  
  (@Id   int)  
  returns   @ret   table(DeptCode   int,DeptName   varchar(20)  
  as  
  begin  
  insert   @ret  
  select   *   from   Dept   D   where   not   exists(select   *   from   View   V   JOIN   Person   P   ON   V.PersonCode   =   P.PersonCode   WHERE   p.PersonCode   =   @PersonCode   AND   V.DeptCode   =   D.DeptCode)  
   
  return  
  endTop

5 楼iwl()回复于 2005-11-19 00:20:13 得分 10

为什么是必须   ,不放换个思路来考虑  
   
  楼上的用函数也是一个好的方式Top

相关问题

  • 一个视图写法,请指教
  • 请教一个视图的写法
  • 高分求一个视图(SQL语句)的写法
  • 100求一个简单视图的写法.
  • 100求视图的写法
  • 求视图写法(四个表) 100分
  • 200分求一<<<<<<<<<巨难视图SQL语句>>>>>>>>>的写法。UP有分!谢谢各位帮忙!!!
  • 这样一个视图该如何写,寻找速度比较快的写法。详情请进!
  • 求一视图
  • 求一视图

关键词

  • 视图
  • view
  • deptcode
  • personcode
  • deptname
  • dept
  • 键
  • person
  • 财务3市场
  • where

得分解答快速导航

  • 帖主:love_AC
  • libin_ftsafe
  • 520zyb
  • 520zyb
  • iwl

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo