① sql语句 两条sql语句怎么合并在一起
方法/步骤
我用Toad做演示,我先新建两张table,
create table #AA(ID int,name nvarchar(10),age int)
create table #BB(ID int,name nvarchar(10),age int )
② SQL中合并多条记录中某一个字段
创建表
createtabletdm01
(da01varchar(10))
insertintotdm01values('001')
insertintotdm01values('002')
insertintotdm01values('003')
insertintotdm01values('004')
insertintotdm01values('005')
执行
selectdistinctda01=
stuff((select''+da01fromtdm01twhereda01=t.da01forxmlpath('')),1,1,'')
fromtdm01
截图
③ SQL 其中两表合并
如果不需要去除重复数据就用
select
*
from
a
union
all
select
*
from
b;
如果需要去除重复数据就用
select
*
from
a
union
select
*
from
b;
这个是官方解释:
union
all
distinct
rows
selected
by
either
query
union
all
all
rows
selected
by
either
query,
including
all
plicates
备注:
①如果a表的列名和b表的列名不一样,取前一个查询的列名,但两表的数据类型必须一致
②另外介绍下这两个
intersect
all
distinct
rows
selected
by
both
queries
这个是求交集
minus
all
distinct
rows
selected
by
the
first
query
but
not
the
second
这个是做差
使用方法相同
④ sql 2000 多条记录合并一条记录输出
修改了一下,只能用游标来做,语法兼容SQL2000
DECLARE@MARKNVARCHAR(100),@IDVARCHAR(5),@TMPNVARCHAR(100)
SET@MARK=''
DECLARECUR表ACURSORFOR
SELECTidFROMdbo.表A
OPENCUR表A
FETCHNEXTFROMCUR表A
INTO@ID
WHILE(@@FETCH_STATUS=0)
BEGIN
SELECT@TMP=ISNULL(id,'')+ISNULL(姓名,'')+ISNULL(性别,'')
FROMdbo.表A
WHEREid=@ID
IF(@TMP<>'')
BEGIN
SET@MARK=@MARK+''+@TMP
FETCHNEXTFROMCUR表A
INTO@ID
CLOSECUR表A
DEALLOCATECUR表A
SELECT@MARKAS'备注'
SELECT*FROMdbo.表A
把上面的做成一个存贮过程吧,一个SQL搞不定的。
⑤ sql中如何合并两个特定的字段
1、创建模拟的数据表
create table GoodsCate(
Mid int not null,
Code varchar(10) not null,
Name varchar(20) not null,
)
⑥ SQL 两张表合并 (两张表的列都相同)
可以参考下面的方法:
1、第一种,用一张临时表,把所有数据都放在一张表里
INSERT INTO QunList SELECT * FROM QunList89,90,91,92;
再在QunList中查询
2、第二种,用 UNION ALL方式查询
SELECT * FROM QunList89
UNION ALL
SELECT * FROM QunList90;
(6)sql备注合并扩展阅读:
SQL参考语句
删除表
drop table tabname--这是将表连同表中信息一起删除但是日志文件中会有记录
删除信息
delete from table_name-这是将表中信息删除但是会保留这个表
增加列
Alter table table_name add column_name column_type [default 默认值]--在表中增加一列,[]内的内容为可选项
⑦ SQL如何合并多个查询结果
1.两个不同的表进行查询,需要把结果合并,
比如table1的列为 id, user_id, type_id,pro_id;
table2的列为 id,user_id,collect_id;分别如下图所示
table1:
总结:其实就是把对应的列补充到没有该列的表中,在例子中就是把collect_id补充到table1中,
把type_id,pro_id补充到table2中。
⑧ SQL 如何合并记录
建立一个函数来生成指定Id对应的字段2生成值,如下:
CREATE
FUNCTION
[dbo].[getValue]
(@Id
int
)
returns
varchar(8000)
as
BEGIN
DECLARE
@str
varchar(8000)
SELECT
@str
=
''
--从表1中取出不重复的字段2,以字段1进行过滤,组合字符串
SELECT
@str
=
@str
+
CASE
WHEN
@str=''
THEN
''
ELSE
','
END
+
ISNULL([Field2],'')
FROM
(
SELECT
DISTINCT
[Field2]
FROM
Table1
WHERE
[Field1]=@Id
)
A
--返回生成的字段2的组合结果
RETURN
@str
END
使用此函数进行查询:
SELECT
DISTINCT
[Field1],[dbo].[getValue]([Field1])
FROM
Table1
目前只有用函数来实现,暂时还没有其它办法
⑨ sql表数据怎么合并
我这里创建2个测试表 aa 与 bb, 还特地造了些其他的字段,用于模拟 楼主的 “有很多字段”x0dx0ax0dx0a1> select * from aa;x0dx0a2> select * from bb;x0dx0a3> gox0dx0aa b cx0dx0a----------- ----------- -----------x0dx0a 1010 5 1x0dx0a 1011 6 2x0dx0a 1012 7 3x0dx0ax0dx0a(3 行受影响)x0dx0aa b c dx0dx0a----------- ----------- ----------- -----------x0dx0a 1011 6 4 7x0dx0a 1012 9 5 8x0dx0a 1013 8 6 9x0dx0ax0dx0a(3 行受影响)x0dx0ax0dx0a1> SELECTx0dx0a2> isnull(aa.a, bb.a) AS a,x0dx0a3> isnull(aa.b, bb.b) AS b,x0dx0a4> isnull(aa.c, bb.c) AS 其他数据C,x0dx0a5> bb.d AS 其他数据Dx0dx0a6> FROMx0dx0a7> aa full join bb on (aa.a = bb.a AND aa.b = bb.b)x0dx0a8> gox0dx0aa b 其他数据C 其他数据Dx0dx0a----------- ----------- ----------- -----------x0dx0a 1010 5 1 NULLx0dx0a 1011 6 2 7x0dx0a 1012 7 3 NULLx0dx0a 1012 9 5 8x0dx0a 1013 8 6 9x0dx0ax0dx0a(5 行受影响)