2014-04-26 50 views
0

例如,具有表名称部门GROUP BY带有具体列名的SQL

//DEPARTMENT 
D# 
-------- 
1 
2 
3 

现在有一个项目表

//Project 
P#  D# 
----------- 
1  1 
2  1 
3  2 
4  1 

所以,我应该如何通过带有具体列名时,显示使用组i使用提示所有的信息,它应该是类似的

Enter Department Number : 1 

D#  total project 
--------------------- 
1   3 

到目前为止我做了这样的

ACCEPT dno PROMPT 'Enter Department Number: ' 
SELECT DNAME FROM DEPARTMENT WHERE D#=&dno; 
SELECT count(*) from PROJECT where D#=&dno; 

回答

0

使用本

select DNAME, count(Project) AS "total project" FROM DEPARTMENT d, PROJECT p 
WHERE d.dno=p.dno and D.DNO=&dno group by DNAME; 

获得总共只

select count(Project) AS "total project" FROM DEPARTMENT d, PROJECT p 
WHERE d.dno=p.dno and D.DNO=&dno group by DNAME; 
+0

计数一起,但我想打印特定项目总列。不可能? – user3553846

+0

如果你想要总数只有然后从选择删除Dname .... –

0

要做两个表之间的连接,

ACCEPT dno PROMPT 'Enter Department Number: ' 
SELECT DNAME, count(*) 
    FROM DEPARTMENT d, PROJECT p 
    WHERE d.dno=p.dno and d.dno=&dno 
    group by d.DNAME; 

编辑

显示dnoDNAME与项目

ACCEPT dno PROMPT 'Enter Department Number: ' 
SELECT d.dno,DNAME, count(*) as 'total' 
    FROM DEPARTMENT d, PROJECT p 
    WHERE d.dno=p.dno and d.dno=&dno 
    group by d.dno,DNAME; 
+0

但我想打印具体的总项目列。不可能? – user3553846

+0

伯爵(*)将为您做到这一点。 –

+0

在这个查询中,它将计算由DNAME的项目组' –