回 帖 发 新 帖 刷新版面

主题:取出一张表A的所有列和另一表B中三个列的sql语句怎么写?

表A的id(主键)是表B的num外键

回复列表 (共7个回复)

沙发

select * from A
union
select 第一个列,第二个列,第三列 from B

板凳

http://www.programfan.com/club/showbbs.asp?id=141830
看看这个学下SQL SERVER吧,一些基础的很简单的。

3 楼

select * from a union select a1,a2,a3 from b
这个查询显示出错, 错误信息是两个表的列数不匹配.

4 楼

-------
select A.*,B.a1,B.a2,B.a3 from A join B on A.id = B.num

5 楼

[quote]-------
select A.*,B.a1,B.a2,B.a3 from A join B on A.id = B.num[/quote]
请问在ACCESS中这一句是否等同于,因为上句在ACCESS中不被执行
select A.*,B.a1,B.a2,B.a3 from A , B where A.id = B.num

6 楼

用union的话两个表必须有相同的字段,并且字符类型也要一样,如不一样,要用连接查询:
select 表A字段1,表A字段2,表A字段3,....表A字段N,表B.1,表A.2, 表B.3 from A,B where A.id = B.num ;

7 楼

不建议用union

select 表A字段1,表A字段2,表A字段3,....表A字段N,表B.1,表A.2, 表B.3 from A inner join B on A.id = B.num 

这样比较好.

我来回复

您尚未登录,请登录后再回复。点此登录或注册