当前位置:首页 » 编程语言 » sql三表合并信息
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql三表合并信息

发布时间: 2022-07-21 11:39:22

‘壹’ [sql]请教如何将几个表的数据查询合并到一起

SELECTA.code,b.shuliang,c.jine
FROMa
LEFTJOINbONa.code=b.code
LEFTJOINcONa.code=c.code
WHEREb.riqi>2016-07-01
ANDb.riqi<2016-07-31
ANDc.riqi>2016-07-01
ANDc.riqi<2016-07-31
ORDERBYa.codeasc

‘贰’ sql server 语句如何将3个表合并成一个表

先说一下我的思路:

  • 首选你把表1,表2,表3中的数据都合并在一起表中,使用union all合并在一起。先不要管姓名是否会重复。

  • 但是在执行合并的时候,需要对每一个待合并的数据,打上一个标签,代表这个是哪个表中来的数据,这个标签最后用于区分同一个人的不同的成绩是分别是多少,不能因为合并在一起后,就把同一个人的三项成绩给搞混了。

  • 合并后的数据进行行转列的操作。

具体的SQL语句如下图所示:


‘叁’ 怎么把一个SQL数据库内的三个关系相同的表合并为一个表

给出表结构吧

或者借用excel表的方法:
首先,用exec master..xp_cmdshell 'bcp "aa..POST" out "d:\tt.xls" -c -SQINKD-Usa -Psa'将POST 表的所以数据导到excel中。
注意:aa是你的数据库名称,放在d盘下的名称为tt的excel表中,SQINKD是你的服务管理器器名称。
第二, 再依照这个方法,master..xp_cmdshell 'bcp "aa..POST2" out "d:\tt2.xls" -c -SQINKD-Usa -Psa'将剩下的2个表导出,如果你的三个表结构相同,excel名称不变即可。
第三,把POST3也按照这个方法导出master..xp_cmdshell 'bcp "aa..POST2" out "d:\tt3.xls" -c -SQINKD-Usa -Psa'。
第四,整合这三个excel,数据怎么放看你自己的了,并取名为post.xls。
第五,新建一个新表new_post,表结构与POST相同,用
insert into new_post
select *
from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=d:\post.xls',sheet1$)这个语句导入整合的所有数据。之后建议将原来的三个表内容删除以节约空间,一定要等所有操作完成之后删除原表。

别看多,共就四条语句,操作起来很简单,几分钟就搞定了。

‘肆’ SQL数据库的表。怎么同时连接3个表查询。

可以参考下面的方法:

1、select * from 表1,表2,表3 where 表1.字段=表2.字段 and 表1.字段=表3.字段

2、select * from 表1 join 表2 on 表1.字段=表2.字段 and join 表3 on 表1.字段=表3.字段

如果没有AND,前面就需要加括号了。

(4)sql三表合并信息扩展阅读:

参考语句

创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

根据已有的表创建新表:

1、create table tab_new like tab_old (使用旧表创建新表)

2、create table tab_new as select col1,col2… from tab_old definition only

删除新表

drop table tabname

‘伍’ 在SQL中,合并多个表中的数据有哪3种方法

合并多个表中的数据的方法有三种:
联合(Union)-合并多个数据表中的行
子查询-将一个查询包含到另一个查询中
联接-合并多个数据表中的列

‘陆’ 3条SQL查询结果如何合并在一起,麻烦高手一下

请贴出你的sql文,并且把你要的结果形式说明一下
是sql查出来的数据已经在一起?
还是三条数据先查询来,再合并到一起?

3条sql要想数据合并在一起,那么每条数据结果都应该有关联的键值对应,要不然是无法合并的。
建议楼主可以学学数据库级联查询 left join、right join 等!

‘柒’ 请教sql200数据库 3个表合并成为一个表语句

用下面这个语句就行了,Table1-3的表名改成你自己的
SELECT
[Table3].[mname],
[temp1].[no],
[temp2].[rmb]
FROM
[Table3]
INNER
JOIN
(SELECT
[id],
SUM([no])
AS
[NO]
FROM
[Table1]
GROUP
BY
[id])
AS
[Temp1]
ON
[Table3].[id]
=
[Temp1].[id]
INNER
JOIN
(SELECT
[id],
SUM([rmb])
AS
[rmb]
FROM
[Table2]
GROUP
BY
[id])
AS
[Temp2]
ON
[Table3].[id]
=
[Temp2].[id]
ORDER
BY
[Table3].[mname]

‘捌’ 如何用sql语句将三张表合并为一张表

select
a.id,
a.data1,
a.notes1,
b.data2,
b.note2,
c.data3,
c.notes3
into
x
from
a,b,c
where
a.id
=
b.id
and
a.id
=
c.id
这样三张表的数据就都放在表x里了
注意是在表x不存在的情况下
存在的话这样
insert
into
x
select
a.id,
a.data1,
a.notes1,
b.data2,
b.note2,
c.data3,
c.notes3
from
a,b,c
where
a.id
=
b.id
and
a.id
=
c.id

‘玖’ sql如何将多个表合并成一个表

--复杂点的方法,


DECLARE @startTime DATETIME --开始的时间

DECLARE @endTime DATETIME --结束的时间

--比如我要得到1月到2月的数据

SET @startTime = '2014-01-01 00:00:00.000' --从新年第一天开始

SET @endTime = GETDATE() --一直到当前时间


--准备创建表

--根据月份创建

DECLARE @mi INT

--(这里必须要是开始时间和结束时间在一年之内的情况,如果不是在一年以内则要另外考虑,懒得写)

SET @mi = MONTH(@endTime) - MONTH(@startTime) + 1 --用结束月份减去开始月份,得到总共要创建几个月份表(加上当前月份)

--PRINT @mi

WHILE @mi >0

BEGIN

DECLARE @tableName VARCHAR(6) --月份表名

DECLARE @sql NVARCHAR(1000)

SET @tableName = '2014'

IF @mi<10

BEGIN

SET @tableName = @tableName + '0'

END

SET @tableName = @tableName + CAST(@mi AS VARCHAR)

IF NOT EXISTS (SELECT * FROM sysobjects WHERE [name] = @tableName AND [type] = 'U')

BEGIN

--如果当前月份表不存在,创建当前月份表

SET @sql = 'CREATE TABLE '+@tableName + ' (MId INT PRIMARY KEY IDENTITY(1,1))'

PRINT @sql

--执行

--EXECUTE sp_executesql N@sql

END

DECLARE @dayName VARCHAR(8) --天表名

WHILE CONVERT(VARCHAR(6),@endTime,112)=@tableName --确定当前时间是否是当前月的

BEGIN

SET @sql = ''

SET @dayName = CONVERT(VARCHAR(8),@endTime,112)

SET @sql = 'INSERT INTO '+@tableName +' VALUES SELECT * FROM ' + @dayName

PRINT @sql

--执行

--EXECUTE sp_executesql N@sql

SET @sql = ''

SET @endTime = DATEADD(DAY,-1,@endTime)

END

SET @mi = @mi - 1 --月份减一

/*

------------------------------------------------------------

CREATE TABLE 201402 (MId INT PRIMARY KEY IDENTITY(1,1))

INSERT INTO 201402 VALUES SELECT * FROM 20140219

INSERT INTO 201402 VALUES SELECT * FROM 20140218

INSERT INTO 201402 VALUES SELECT * FROM 20140217

INSERT INTO 201402 VALUES SELECT * FROM 20140216

INSERT INTO 201402 VALUES SELECT * FROM 20140215

INSERT INTO 201402 VALUES SELECT * FROM 20140214

INSERT INTO 201402 VALUES SELECT * FROM 20140213

INSERT INTO 201402 VALUES SELECT * FROM 20140212

INSERT INTO 201402 VALUES SELECT * FROM 20140211

INSERT INTO 201402 VALUES SELECT * FROM 20140210

INSERT INTO 201402 VALUES SELECT * FROM 20140209

INSERT INTO 201402 VALUES SELECT * FROM 20140208

INSERT INTO 201402 VALUES SELECT * FROM 20140207

INSERT INTO 201402 VALUES SELECT * FROM 20140206

INSERT INTO 201402 VALUES SELECT * FROM 20140205

INSERT INTO 201402 VALUES SELECT * FROM 20140204

INSERT INTO 201402 VALUES SELECT * FROM 20140203

INSERT INTO 201402 VALUES SELECT * FROM 20140202

INSERT INTO 201402 VALUES SELECT * FROM 20140201

CREATE TABLE 201401 (MId INT PRIMARY KEY IDENTITY(1,1))

INSERT INTO 201401 VALUES SELECT * FROM 20140131

INSERT INTO 201401 VALUES SELECT * FROM 20140130

INSERT INTO 201401 VALUES SELECT * FROM 20140129

INSERT INTO 201401 VALUES SELECT * FROM 20140128

INSERT INTO 201401 VALUES SELECT * FROM 20140127

INSERT INTO 201401 VALUES SELECT * FROM 20140126

INSERT INTO 201401 VALUES SELECT * FROM 20140125

INSERT INTO 201401 VALUES SELECT * FROM 20140124

INSERT INTO 201401 VALUES SELECT * FROM 20140123

INSERT INTO 201401 VALUES SELECT * FROM 20140122

INSERT INTO 201401 VALUES SELECT * FROM 20140121

INSERT INTO 201401 VALUES SELECT * FROM 20140120

INSERT INTO 201401 VALUES SELECT * FROM 20140119

INSERT INTO 201401 VALUES SELECT * FROM 20140118

INSERT INTO 201401 VALUES SELECT * FROM 20140117

INSERT INTO 201401 VALUES SELECT * FROM 20140116

INSERT INTO 201401 VALUES SELECT * FROM 20140115

INSERT INTO 201401 VALUES SELECT * FROM 20140114

INSERT INTO 201401 VALUES SELECT * FROM 20140113

INSERT INTO 201401 VALUES SELECT * FROM 20140112

INSERT INTO 201401 VALUES SELECT * FROM 20140111

INSERT INTO 201401 VALUES SELECT * FROM 20140110

INSERT INTO 201401 VALUES SELECT * FROM 20140109

INSERT INTO 201401 VALUES SELECT * FROM 20140108

INSERT INTO 201401 VALUES SELECT * FROM 20140107

INSERT INTO 201401 VALUES SELECT * FROM 20140106

INSERT INTO 201401 VALUES SELECT * FROM 20140105

INSERT INTO 201401 VALUES SELECT * FROM 20140104

INSERT INTO 201401 VALUES SELECT * FROM 20140103

INSERT INTO 201401 VALUES SELECT * FROM 20140102

INSERT INTO 201401 VALUES SELECT * FROM 20140101



*/


‘拾’ 三表合并的SQL语句

用联合查询

select 代码 名称 规格 单位 采购数量 采购单价 采购金额 库存数量 库存单价 库存金额
from a目录表 ineer join b库存表 on b库存表.代码=a目录.代码 ineer join c采购表 on b库存表.代码= c采购表
这个是标注写法
使用where是非标准写法 在程序有BUG