首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL语句啊

2012-01-29 
求一个SQL语句啊。。。在线等!!!急急急!!!A.活动表(活动ID,活动名称)B.活动奖项表(奖品ID,活动ID,奖项名称,奖

求一个SQL语句啊。。。在线等!!!急急急!!!
A.活动表(活动ID,活动名称)
B.活动奖项表(奖品ID,活动ID,奖项名称,奖品名称)——奖项名称字段比如[一等奖、二等奖。。。之类的]

C.奖项名额分配表(ID,奖品ID,中间名额,中奖范围[该字段保存的是“参与活动用户表”的用户ID])
//中奖范围:设置奖项名称的中奖用户,比如说我设置一等奖的中奖用户是张三、李四   保存的是张三、李四的用户ID,该表只有一条记录,也就是一等奖设置一次名额分配

D.参与活动用户表(用户ID,活动ID,用户名称,部门,手机号)
-------------------------------------------------------------------------
插入数据:
A:
insert   into   活动表   values( 'HD1001 ', '元旦晚会抽奖活动 ')
B:
insert   into   活动奖项表   values( 'JX1001 ', 'HD1001 ', '一等奖 ', '笔记本 ')
insert   into   活动奖项表   values( 'JX1002 ', 'HD1001 ', '二等奖 ',‘移动硬盘’)
C:
insert   into   奖项名额分配表   values( 'FP1001 ',‘JX1001’,1, 'zs ')
insert   into   奖项名额分配表   values( 'FP1002 ',‘JX1002’,2, 'ls,sq ')
D:
insert   into   参与活动用户表   values( 'zs ', 'DG1001 ', '张三 ', '销售部 ', '130xxx ')
insert   into   参与活动用户表   values( 'ls ', 'DG1001 ', '李四 ', '财务部 ', '131xxx ')
insert   into   参与活动用户表   values( 'ww ', 'DG1001 ', '王五 ', '采购部 ', '132xxx ')
insert   into   参与活动用户表   values( 'zl ', 'DG1001 ', '赵六 ', '库存部 ', '133xxx ')
insert   into   参与活动用户表   values( 'sq ', 'DG1001 ', '孙七 ', '生产部 ', '134xxx ')
--------------------------------------------------------------------------
现需要查询结果集如下:
姓名             部门               手机号           奖项名称             中奖名额               是否中奖名额
张三           销售部           130xxx               一等奖                     1                                 是
李四           财务部           131xxx               二等奖                     2                                 是
王五           采购部           132xxx                                                                                 否
赵六           库存部           133xxx                                                                                 否
孙七           生产部           134xxx               二等奖                     2                                 是
--------------------------------------------------------------------------


我现在只能获取到活动表的活动ID,如何通过它关联查询出如上结果集?在线等,有问题速度回复,急急急!!!

[解决办法]

SQL code
select a.用户名称,a.部门,a.手机号,c.奖项名称,b.中奖名额,(case when b.中奖范围 is null then '否' else '是' end)是否中奖from 参与活动用户表 a left join 奖项名称分配表 b on charindex(','+a.用户名称+',',','+b.中奖范围+',')>0left join 活动奖项表 c on c.奖品ID=b.奖品ID 

热点排行