sql 多表联合查询

php中文网
发布: 2016-06-07 17:47:51
原创
2737人浏览过

关于sql 多表联合查询方法很多,我们今天就来讲一下关于sql多表查询的用法与实例代码,一般会用到select  * from (select ) union 来操作。

select 类型,sum(合计金额) from (select 商品名称,数量,日期,类型,合计金额 from 出库表 where 日期 > '2010-5-5 00:00:00' union select 商品名称,数量,日期,类型,合计金额 from 入库表 where 日期 > '2010-5-5 00:00:00' union select 商品名称,数量,日期,类型,合计金额 from 销售表 where 日期 > '2010-5-5 00:00:00') group by 类型


下面来看看实例

三个表

收费表

jQuery省市二级联动关联店面查询表单代码
jQuery省市二级联动关联店面查询表单代码

JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供A

jQuery省市二级联动关联店面查询表单代码 55
查看详情 jQuery省市二级联动关联店面查询表单代码

id  flowid totall
1    k1    3000

详细表
id flowid  pid num
1    k1    1  2000
2    k1    2  1000

付款方式表
id pname
1  现金
2  支票
3  刷卡

create table pay(id int,flowid varchar(10),totall int)
insert into pay select 1,'k1',3000

create table detail(id int,flowid varchar(10),pid int,num int)
insert into detail select 1,'k1',1,2000
insert into detail select 2,'k1',2,1000

create table mode(id int,pname varchar(10))
insert into mode select 1,'现金'
insert into mode select 2,'支票'
insert into mode select 3,'刷卡'

 

declare @sql varchar(8000)
set @sql=''

select @sql=@sql+',['+pname+']=sum(case b.pid when '+rtrim(id)+' then num else 0 end)'
from mode

set @sql='select a.id,a.flowid,a.totall'+@sql+' from pay a,detail b where a.flowid=b.flowid group by a.id,a.flowid,a.totall'
exec(@sql)


结果:

id  flowid totall 现金  支票  刷卡
1    k1    3000  2000  1000 0

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号