永发信息网

用sql语句把两个表的它段合并

答案:4  悬赏:50  手机版
解决时间 2021-07-26 05:32
  • 提问者网友:心如荒岛囚我终老
  • 2021-07-25 12:46

两个表,表A 字段1 字段2 , 表B 字段11 字段22 字段33

现在我要把表B的字段33拿出来和表A结合,返回一个新表 字段1 字段2 字段33

就是说把select 字段33 from 表B 和 select * from 表A 这条语句返回的结果合并到一起。明白我的意思了吗,希望最好用一条sql 语句完成,谢谢

最佳答案
  • 五星知识达人网友:底特律间谍
  • 2021-07-25 13:32

select A.*,(select B.33 from B) from A 。


如果表A和表B记录不一样多,就会有问题。。。


一般用left join , inner join , right join 的,但是需要知道表A和表B的关系

全部回答
  • 1楼网友:逐風
  • 2021-07-25 16:04

--> 测试数据:[ta] if object_id('[ta]') is not null drop table [ta] create table [ta]([id] int,[name] varchar(1)) insert [ta] select 1,'a' union all select 2,'b' union all select 3,'c' union all select 4,'d' union all select 5,'e' union all select 6,'f'

select * from [ta] --> 测试数据:[tb] if object_id('[tb]') is not null drop table [tb] create table [tb](id int ,[value] varchar(2)) insert [tb] select 1,'mm' union all select 2,'nn' union all select 3,'bb' union all select 7,'vv' union all select 8,'kk' union all select 9,'gg'

select ta.*,tb.[value] from ta,tb where ta.id=tb.id

select ta.*,tb.[value] from ta left join tb on ta.id=tb.id select ta.*,tb.[value] from ta right join tb on ta.id=tb.id

select ta.*,tb.[value] from ta full join tb on ta.id=tb.id

--如果要修改a表是变为三列

select * into # from ( select ta.*,tb.[value] from ta,tb where ta.id=tb.id--上面的任意一个sql语句 ) t

drop table ta

select * into ta from #

drop table #

select * from ta

  • 2楼网友:玩家
  • 2021-07-25 14:36

假设表A中的字段1的外键是表B中的字段22,那么要得到两张相关连的表的SQL语句为:

select [表A].[字段1],[表A].[字段2],[表B].[字段11],[表B].[字段33] from [表A] inner join [表B] on [表A].[字段1]=[表B].[字段22]

  • 3楼网友:等灯
  • 2021-07-25 13:51

前提就是错的,两个表如果行数不一样怎么办,表a的行和表b的行按照什么规律合并也没有

1 1 1

2 1 2

3 1 3

1 1 3

2 1 2

3 1 1

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯