34,590
社区成员
发帖
与我相关
我的任务
分享
感谢1楼的, 如果我表一中有很多字段, 不想一一列出, 打算用*, 可是这样又把表二的所有字段都取出来了, 应该怎么做呢?
---
select a.*,
b.name as classname
from table1 a
left join table2 b
on a.class = b.id
select a.id,a.name
,isnull(b.name,'') classname
from 表1 a
left join 表2 b
on a.class=b.id
得到表中除Col1、Col2的所有列
例如:userno_fm、userno_to
create table test(
num int identity(1,1),
userno_fm varchar(10),
userno_to varchar(10),
username varchar(10))
select * from test
declare @sql varchar(8000)
select @sql=''
select @sql=@sql+','+[name] from
(select [name] from syscolumns where object_id(N'[test]')=[id] and [name] not in ('userno_fm','userno_to')) A
set @sql='select '+stuff(@sql,1,1,'')+' from [test]'
--print @sql
exec (@sql)
drop table test
select a.id,a.name
,b.name
from 表1 a
left join 表2 b
on a.class=b.id
select a.id,a.name,b.name as classname,....
from table1 a
left join table2 b on a.class = b.id