这样的查询怎样实现

shangxuesong 2003-11-06 12:18:26
我有三个表:bookstore,inbase,outbase

bookstore如下:
bookid bookName price storeNum
------------------
00001 英语教材 20 300
00002 语文 30 250
00003 数学 19 235
00004 地理 23 210

inbase如下:
bookid inNum inSumMoney
----------------------------
00001 120 2400
00003 100 1900

outbase如下:
bookid outNum outSumMoney
--------------------------------
00002 20 600
00004 30 690

怎样可以得到如下形式的统计:

bookid bookName price storeNum inNum inSumMoney outNum outSumMoney
------------------
00001 英语教材 20 300 120 2400 0 0
00002 语文 30 250 0 0 20 600
00003 数学 19 235 100 1900 0 0
00004 地理 23 210 0 0 30 690

对多个表怎样用外连接?
欢迎大家指教!

...全文
26 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-11-06
  • 打赏
  • 举报
回复
加别名:

select a.*,isnull(b.inNum,0) inNum,isnull(b.inSumMoney,0) inSumMoney,isnull(c.outNum,0) outNum,isnull(c.outSumMoney,0) outSumMoney from bookstore a left join inbase b on a.bookid=b.bookid left join outbase c on a.bookid=c.bookid
pengdali 2003-11-06
  • 打赏
  • 举报
回复
select a.*,isnull(b.inNum,0),isnull(b.inSumMoney,0),isnull(c.outNum,0),isnull(c.outSumMoney,0) from bookstore a left join inbase b on a.bookid=b.bookid left join outbase c on a.bookid=c.bookid
shuiniu 2003-11-06
  • 打赏
  • 举报
回复
select a.bookid,a.bookname,a.price,a.storenum,isnull(b.inNum,0) inNum,isnull(b.inSumMoney,0) inSumMoney,
isnull(c.outNum,0) outNum,isnull(c.outSumMoney,0) outSumMoney
from bookstore a join inbase b on a.bookid = b.bookid
left join outbase c on a.bookid = c.bookid

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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