请求,一SQL 语句!关于两个表的合并!

tofool 2003-11-24 02:07:08
例如:表A : A , B, C 三个字段
记录: A ,Bbbb ,Cccc
//------------------------------------
表B: A,BB,CC 三个字段
记录: A,Bbbb,CCccc

现在想达到这个结果:字段为:A, B, C, BB, CC
记录: A,Bbbb, Cccc,BBbbb ,CCccc

请问这条SQL语句 怎么写???
...全文
20 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Benimarunikado 2003-11-24
  • 打赏
  • 举报
回复
--根据需求,试实现如下:

IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'A')
DROP TABLE A

IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'A')
DROP TABLE A
GO

CREATE TABLE A(A CHAR(50),B CHAR(50),C CHAR(50))

CREATE TABLE B(A CHAR(50),BB CHAR(50),CC CHAR(50))
GO

INSERT A SELECT 'A','Bbbb','Cccc'
UNION ALL SELECT 'AA','BB','CC'
UNION ALL SELECT 'AAA','BBB','CCC'

INSERT B SELECT 'A','BBbbb','CCccc'
UNION ALL SELECT 'AA','BBBB','CCC'
UNION ALL SELECT 'AAA','BBBB','CCC'

--最终查询语句:

SELECT DISTINCT A.*,B.BB,B.CC FROM A,B WHERE A.A=B.A

A B C BB CC
------- ------ ---------- -----------
A Bbbb Cccc BBbbb CCccc
AA BB CC BBBB CCC
AAA BBB CCC BBBB CCC

(所影响的行数为 3 行)

--删除测试
DROP TABLE A
DROP TABLE B
95000100 2003-11-24
  • 打赏
  • 举报
回复
前两位朋友说的是的条件的,只有条件相等的才并,应该没错,如果你耽心有什么重复记录,最后用 一下DISTINCT就可以了
zjcxc 元老 2003-11-24
  • 打赏
  • 举报
回复
--你的两个表中没有关键字段关联吗?那就用临时表:

select id=identity(int,1,1),* into #t1 from A表
select id=identity(int,1,1),* into #t2 from b表

select a.A,a.B,a.C,b.BB,b.CC
from #t1 a join #t2 b on a.id=b.id

drop table #t1,#t2

mouseanAnya 2003-11-24
  • 打赏
  • 举报
回复
zjcxc(邹建) 的回复应该符合你的要求。
tofool 2003-11-24
  • 打赏
  • 举报
回复
不行呀,如果这样的话, 如果,A表有3条记录,B表也有3条记录的话, 那

集:就变成了9条记录了, 而我只要三条记录 。 明白不?
pengdali 2003-11-24
  • 打赏
  • 举报
回复
select a.*,b.bb,b.cc from 表a a,表b b where a.a=b.a
zjcxc 元老 2003-11-24
  • 打赏
  • 举报
回复
select a.*,b.bb,b.cc
from 表a a join 表b b on a.a=b.a

34,600

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧