sql语句怎么写?

没学过SQL,学C#的时候用到的,不知如何写,有两个表:"部门"表中有两个字段:部门号"Did",部门名"DName""职工"表中有几个字段,姓名"SName",性别,部... 没学过SQL,学C#的时候用到的,不知如何写,
有两个表:
"部门"表中有两个字段:部门号"Did",部门名"DName"
"职工"表中有几个字段,姓名"SName",性别,部门号"Did",等
现在要查每个部门有多少个职工,写了个SQL:
string sql="select DName,count(SName) where 部门,职工 group by 职工.SName",执行时报错。没学过SQL,哪位说的简单一些,该怎么写?
select Dname,count(SName) from 部门,职工 where 部门.Did=职工.Did group by 职工.did
结果是:选择列表中的 部门.Dname无效,因为该列没有包含在聚会函数或group by子句中
再写成select Dname,count(SName) from 部门,职工 where 部门.Did=职工.Did group by 职工.did,Dame后,又发现如果部门职工数为0的话显现不出来,我的目的主要是看有哪些部门。
展开
 我来答
百度网友19c5533fd
2010-08-02 · TA获得超过2389个赞
知道小有建树答主
回答量:465
采纳率:0%
帮助的人:626万
展开全部
--保留部门,用left join

string sql="select a.DName,count(b.SName) SName_Cnt
from 部门 a
left join 职工 b
on a.did = b.did
group by a.DName
"
--改成这样就可以了!

语法:

select ..
from ..
where ..
group by
order by ..
;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hanson_hao
2010-08-02
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
语句:
select DName,count(SName) from 部门 a
left join 职工 b on a.did=b.did
group by a.DName

---------------------
上述就能解决你的需求,为啥这样写,可以查看SQL帮助文档 “SELECT 语句”的用法,应该有配套类似的范例
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大加索尔
2010-08-02 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2223
采纳率:0%
帮助的人:2628万
展开全部
select DName,count(SName)
from 部门,职工
where 部门.Did=职工.Did
group by 部门.DName

你少了from子句
写错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式