• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

求一简单的SQL语句

marcus008 2008-02-26 12:04:23
有两张表:

表一:
id name
1 a
2 b
3 c


表二:(tid的值是根据表一中的id来的,即a >> a1)

id tid name
1 1 a1
2 1 a2
3 2 b1
4 2 b2


现在需要在表一中找出表二中仅有的子数据,即显示:
(表一中id为3的数据因为在表二没有显示出来,所以要舍掉,记得以前好像可以用个存在来查询这种情况的,不知怎么用了)

id name
1 a
2 b




这样的SQL语句,要如何写,谢谢..










...全文
36 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
-狙击手- 2008-02-26
select a.*
from table1 a
left join (select tid from table2 group by tid) b
on a.id = b.tid


select *
from table1 a
where exists(select 1 from table2 where tid = a.id)
回复
pt1314917 2008-02-26

--写错了。不好意思:

select distinct a.* from 表一 a , 表二 b where a.id=b.tid
--或者
select distinct a.* from 表一 a left join 表二 b on a.id=b.tid where b.tid is not null
回复
pt1314917 2008-02-26

select a.* from 表一 a left join 表二 b on a.id=b.tid and b.tid is not null
回复
gahade 2008-02-26
select * from 表一 where id in (select distinct tid from 表二)
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-02-26 12:04
社区公告
暂无公告