sql查询

[复制链接]
查看11 | 回复4 | 2010-11-22 15:42:52 | 显示全部楼层 |阅读模式
Table1
uid value
1
44
2
12
3
23
4
25
5
63
Table2
A B
44aa
44ad
25bb
63cc
63dc
Table3
Uid
value
B
1
44
aa
4
25
bb
5
63
cc
Table3 为类似于table1和table2的交集,但是交集中value重复时只取第一个
回复

使用道具 举报

千问 | 2010-11-22 15:42:52 | 显示全部楼层
创建一个临时表,为table2增加一列作为主键;
或者使用存储过程也行,用游标。
回复

使用道具 举报

千问 | 2010-11-22 15:42:52 | 显示全部楼层
select a.uid,b.A,b.B from Table1 a inner join (select A,min(B) B from Table2group by A) b on a.value =b.A
回复

使用道具 举报

千问 | 2010-11-22 15:42:52 | 显示全部楼层
楼上,你是根据值的大小来过滤的吧,似乎与问题不符耶!
回复

使用道具 举报

千问 | 2010-11-22 15:42:52 | 显示全部楼层
最初由 weizhenglu 发布
Table3 为类似于table1和table2的交集,但是交集中value重复时只取第一个 [/B]

重复时,怎么判断是第一个?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行