第一种方法:
创新互联是一家专业提供将乐企业网站建设,专注与成都网站制作、网站建设、成都h5网站建设、小程序制作等业务。10年已为将乐众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
复制代码
代码如下:
/*
创建链接服务器
*/
exec
sp_addlinkedserver
'srv_lnk','','sqloledb','条码数据库IP地址'
exec
sp_addlinkedsrvlogin
'srv_lnk','false',null,'用户名','密码'
go
/*
查询示例
*/
SELECT
A.ListCode
FROM
srv_lnk.条码数据库名.dbo.ME_ListCode
A,
IM_BarLend
B
WHERE
A.ListCode=B.ListCode
go
/*
删除链接服务器
*/
exec
sp_dropserver
'srv_lnk','droplogins'
第二种方法:
复制代码
代码如下:
exec
sp_configure
'show
advanced
options',1
reconfigure
exec
sp_configure
'Ad
Hoc
Distributed
Queries',1
reconfigure
go
select
*
from
Product
p
inner
join
opendatasource('SQLOLEDB','Data
Source=Macaco-Online;user
ID=sa;password=sa密码;').Company.dbo.Product
p2
on
P.PID=p2.PID
go
exec
sp_configure
'Ad
Hoc
Distributed
Queries',0
reconfigure
exec
sp_configure
'show
advanced
options',0
reconfigure
go
既然三个表都是有关联的,先单表统计
,再合起来统计。。
select
A.*,BC.sum_B,BC.sum_C
from
A表
as
A
join
(
select
单位编码,sum_B,sum_C
from
(select
单位编码,sum(数据B)
as
sum_B
from
B表
group
by
单位编码)
as
B
join
(select
单位编码,sum(数据C)
as
sum_C
from
C表
group
by
单位编码)
as
C
on
B.单位编码=C.单位编码
)
as
BC
on
A.单位编码=BC.单位编码
简化下:
select
A.*,B.sum_B,C.sum_C
from
A表
as
A
join
(select
单位编码,sum(数据B)
as
sum_B
from
B表
group
by
单位编码)
as
B
on
A.单位编码=B.单位编码
join
(select
单位编码,sum(数据C)
as
sum_C
from
C表
group
by
单位编码)
as
C
on
A.单位编码=C.单位编码
*select
[列名]
from
Students
as
s
inner
join
专业Name
as
z
on
s.[学员编号]=z.[学员编号]
inner
join
分数Name
as
f
on
......同前
where
z.[专业名]
like
'%1%'
select
[列名]
from
Students
as
s
inner
join
专业Name
as
z
on
s.[学员编号]=z.[学员编号]
inner
join
分数Name
as
f
on
......同前
where
z.[专业名]
like
'%1%'
and
z.name
like
'%2%'
and
f.name
like
'%2%'
.....同前
应该没有理解错误吧呵呵!
不知道你碰到那个知识点的问题了!我就给你说说我对SqlServer多个表查询的理解!SqlServer
多个表的统计查询有三种方式1:嵌套查询
2:连接查询3:联合查询
;(我用表名为student
的表做例子)
嵌套查询一般使用
Select
*
from
student
where
或者
having
;连接查询就是将多个表或某些列为条件进行连接,从而查询数据!连接查询分:
交叉连接
内连接
外连接
自连接;联合查询就是得使用union
关键字将两个select语句联合起来,进行数据查询!只要你做过题,你就会明白其中的每种连接方式的优势!希望对你有所帮助!
后台可以写一个循环的查询语句,比如for(int i=1;i13;i++),把这个i作为一个参数添加到sql语句中,这样就能控制一个循环查询12张表,同时在循环里把查询的结果放到一个list里面这样就能把12张表的所有结果传给前台处理。还有不懂的可以追问,望采纳
select 主表名.pcode, count(从表名.pcode)
from 主表名, 从表名
where 主表名.pcode=从表名.pcode
group by 主表名.pcode