关于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是继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
55
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 modeset @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
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号