| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1889 人关注过本帖
标题:求 主从表查询语句
只看楼主 加入收藏
XieLi
Rank: 1
等 级:新手上路
威 望:1
帖 子:762
专家分:0
注 册:2007-7-24
收藏
得分:0 
他应该没有写出来吧!

拥有蓝天的白云,拥有你的我.
2007-11-28 15:23
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
create table 表A(
id int,
姓名 varchar(10),
年龄 int
)
insert into 表A values(1,'张三',20)
insert into 表A values(2,'马六',21)
insert into 表A values(5,'王二',22)

create table 表B(
id int,
课程 varchar(10),
出勤 int
)
insert into 表B values(1,'化学',3)
insert into 表B values(1,'化学',2)
insert into 表B values(5,'物理',6)
insert into 表B values(2,'化学',1)

select a.id,a.姓名,a.年龄,出勤总天数=isnull(b.出勤总天数,0),化学出勤天数=isnull(b.化学出勤天数,0)
from 表A a
left join
(select id,sum(出勤) 出勤总天数,sum(case when 课程='化学' then 出勤 else 0 end) 化学出勤天数 from 表B group by id) b
on a.id=b.id

drop table 表A,表B


/*
id          姓名         年龄          出勤总天数       化学出勤天数      
----------- ---------- ----------- ----------- -----------
1           张三         20          5           5
2           马六         21          1           1
5           王二         22          6           0
(所影响的行数为 3 行)
*/

我的msn: myfend@
2007-11-28 15:24
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
B里面没有马六的纪录....


高手们你们都怎么学的sql,佩服啊!

2007-11-28 15:24
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
你的表B里..明明有马六的记录嘛..还说没有?.

我的msn: myfend@
2007-11-28 15:26
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
我晕啊,各位老大,如果不用
case when 课程='化学' then 出勤 else 0 end

还有别的语句么?

vfp竟然不支持case when then

2007-11-29 06:27
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
vfpi 不支持case语句..那可能会有其它的语句代码..可能是iif什么的..看看帮助..

我的msn: myfend@
2007-11-29 06:32
快速回复:求 主从表查询语句
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034288 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved