3表查询,同一字段区分。

ld191474639 2012-09-03 03:49:48
create table Goods(
id int,
name varchar(30),
price int,
sum int,
sid int,
creator varchar(20),
createtime varchar(20),
tid int
)
insert into Goods values('3','小碗熊','24','3','1','小明','2012年','3')
drop table Supplier
drop table MyTypes
drop table Goods
create table Supplier(
sid int,
name varchar(20),
linkman varchar(20),
tel varchar(20)
)
insert into Supplier values('3','小明服饰','小张','13798542123')
create table MyTypes(
tid int,
name varchar(20)
)
insert into MyTypes values('3','饼干')
select top 2 c.id,c.name,c.price,c.sum,c.creator,c.createtime,Supplier.linkman,Supplier.tel from Supplier,(select id,Goods.name,price,sum,sid,creator,createtime,MyTypes.name from Goods,MyTypes where MyTypes.tid=Goods.tid)as c where c.sid=Supplier.sid

查询出3张表的所有字段,现在问题是3张表都有name字段,但是名称不同,也就是说查询出来会出现3个name。怎么在查的过程中区别开来。
...全文
47 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
以学习为目的 2012-09-03
  • 打赏
  • 举报
回复
在select 后面的name列 加as 别名

select a.name as name1,b.name as name2 ...
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
SQL code

create table Goods(
id int,
name varchar(30),
price int,
sum int,
sid int,
creator varchar(20),
createtime varchar(20),
tid int
)
insert into Goods values('3','小碗熊','24','3','1',……
[/Quote]
在select时,给每个表的name字符取个别名就可以了啊
汤姆克鲁斯 2012-09-03
  • 打赏
  • 举报
回复
起一个别名,下面的


select top 2 c.id,c.NAME AS name1,Supplier.NAME AS NAME2,c.price,c.sum,c.creator,c.createtime,Supplier.linkman,Supplier.tel
from Supplier,
(select id,Goods.name,price,sum,sid,creator,createtime,MyTypes.name from Goods,MyTypes where MyTypes.tid=Goods.tid)as c
where c.sid=Supplier.sid

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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