这个sql 语句该如何写???

msony 2003-12-27 02:29:49
我有四个表
资料表
代码 姓名 类别
1 .. 2
2 .. 4
3 .. 4
4 .. 4
5 .. 2

类别表
类别 金额
1 ..
2 ..
3
4

出勤表
代码 出勤天数
2 3
5 1


缺勤表
代码 缺勤天数
1 4

如何把这四个表连接在一起如
代码 姓名 类别 金额 出勤天数 缺勤天数
1 ... 2 .. 0 4
2 ... 4 .. 3 0
3 4 0 0
4 4 0 0
5 2 1 0





...全文
28 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
victorycyz 2003-12-28
  • 打赏
  • 举报
回复

select a.*,
isnull(金额,0) 金额,
isnull(出勤天数,0) 出勤天数,
isnull(缺勤天数,0) 缺勤天数
from 资料表 a left join 类别表 b on a.代码=b.代码
left join 出勤表 c on a.代码=c.代码
left join 缺勤表 d on a.代码=d.代码
erigido 2003-12-27
  • 打赏
  • 举报
回复
select *
,金额=(select sum(金额) from 类别表 where 类别=a.类别)
,出勤天数=isnull((select sum(出勤天数) from 出勤表 where 代码=a.代码),0)
,缺勤天数=isnull((select sum(缺勤天数) from 缺勤表 where 代码=a.代码),0)
from 资料表 a
hglhyy 2003-12-27
  • 打赏
  • 举报
回复
try!
zjcxc 元老 2003-12-27
  • 打赏
  • 举报
回复
select *
,金额=(select sum(金额) from 类别表 where 类别=a.类别)
,出勤天数=isnull((select sum(出勤天数) from 出勤表 where 代码=a.代码),0)
,缺勤天数=isnull((select sum(缺勤天数) from 缺勤表 where 代码=a.代码),0)
from 资料表 a
msony 2003-12-27
  • 打赏
  • 举报
回复
不过我把你的语句改了一下, 就行了.

SELECT 资料表.代码 资料表.姓名 资料表.类别 类别表.金额 出勤表.出勤天数 缺勤表.缺勤天数 FROM 资料表 FULL JOIN 类别表 ON 类别表.类别 = 资料表.类别 FULL
JOIN 出勤表 ON 出勤表.代码 = 资料表.代码 FULL JOIN 缺勤表.代码 = 资料表.代码

谢谢你,,给分!
北京菠菜 2003-12-27
  • 打赏
  • 举报
回复
怎么不完整,说清楚啊
msony 2003-12-27
  • 打赏
  • 举报
回复
不行呀 记录不完整。 是不是要用 full join 等其它的连接,,才能达到上述效果
北京菠菜 2003-12-27
  • 打赏
  • 举报
回复
SELECT 资料表.代码 资料表.姓名 资料表.类别 类别表.金额 出勤表.出勤天数 缺勤表.缺勤天数 FROM 资料表 INNER JOIN 类别表 ON 类别表.类别 = 资料表.类别 INNER
JOIN 出勤表 ON 出勤表.代码 = 资料表.代码 INNER JOIN 缺勤表.代码 = 资料表.代码
kevin218 2003-12-27
  • 打赏
  • 举报
回复
这样肯定没问题,快试试吧
kevin218 2003-12-27
  • 打赏
  • 举报
回复
最基本的主外键连接,注意写明属主。见下面所示:

select a.代码, a.姓名,a.类别,b.金额,c.出勤天数,d.缺勤天数
from 资料表 a,类别表 b,出勤表 c,缺勤表 d
where a.代码 = c.代码 and
a.代码 = d.代码 and
a.类别 = b.类别
msony 2003-12-27
  • 打赏
  • 举报
回复
大哥这样不行呀,, 有些记录就显示不出来了。 因为有些记录出勤表和缺勤表里没有。
超人汪 2003-12-27
  • 打赏
  • 举报
回复
select 姓名,类别,金额,出勤天数,缺勤天数 from 资料表,类别表,出勤表,缺勤表
where 资料表.代码=出勤表.代码 and 资料表.类别=类别表.类别
and 资料表.代码=出勤表.代码 and 缺勤表.代码=资料表.代码

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧