+ -
当前位置:首页 → 问答吧 → sql语句怎么写

sql语句怎么写

时间:2011-12-05

来源:互联网

根据表a中的某字段的不同 分别像其他不同的表中取数据
比如 SQL code

表 A
a     b
1     B
2     C
表b
c   d
5    6
5    7
5    8

表c
e     f
6      8
7      9
10     11

结果集合 
表 d
a  b  count
1  B   1=b表中d列小于7的个数
2  C   2=c表中f列小于11的个数

作者: fanbingyuan   发布时间: 2011-12-05

没有看明白意思 C表起什么作用啊?

作者: fredrickhu   发布时间: 2011-12-05

先统计再列转行,如果就2条的话,直接写也行

作者: geniuswjt   发布时间: 2011-12-05

没有看懂问题

作者: down_login   发布时间: 2011-12-05

引用 1 楼 fredrickhu 的回复:
没有看明白意思 C表起什么作用啊?

b表和c表分别存储不同类型的并列的两套数据,比如身高和体重  

作者: fanbingyuan   发布时间: 2011-12-05

引用 3 楼 down_login 的回复:
没有看懂问题

b表和c表存储并列的两套数据,比如身高和体重,
a表统计身高和体重满足某种条件的数量

a的格式wei
ID Type NUM
1 身高 数量 
2 体重 数量

作者: fanbingyuan   发布时间: 2011-12-05

SQL code

if object_id('A') is not null
   drop table A
go
create table A
(
 a int,
 b varchar(10)
)
go
insert into A
select 1,'B' union all
select 2,'C'
go
if object_id('B') is not null
   drop table B
go
create table B
(
 c int,
 d int
)
go
insert into B
select 5,6 union all
select 5,7 UNION ALL
select 5,8
go
if object_id('C') is not null
   drop table C
go
create table C
(
 e int,
 f int
)
go
insert into C
select 6,8 union all
select 7,9 union all
select 10,11
go
select a,b,count=(select count(*) from B where d<7) from a where a=1
union all
select a,b,count=(select count(*) from C where f<11) from a where a=2
go
/*
a           b          count
----------- ---------- -----------
1           B          1
2           C          2

(2 行受影响)
*/

作者: pengxuan   发布时间: 2011-12-05

引用 6 楼 pengxuan 的回复:
SQL code


if object_id('A') is not null
drop table A
go
create table A
(
a int,
b varchar(10)
)
go
insert into A
select 1,'B' union all
select 2,'C'
go
if object_id('B') is not n……


是这个意思,不过 不确定的是从B表还是从C表中取数据,我就差一个if判断了 但是又不知道该如何判断

作者: fanbingyuan   发布时间: 2011-12-05

救命啊

作者: fanbingyuan   发布时间: 2011-12-05

热门下载

更多