我有两张表:
chkeq:function(a,b){
if(a==b){
return true;}
else return false;
}
希望结果如下:
UserTelTable (userTable)
CardNo ID tel telorder ID Name .....(other columns )
1 101 7777 4 101 Danny
2 101 6666 1 102 Tanya
3 101 5555 2 103 Susan
4 102 4444 6 104 Gordon
5 103 1234 1
6 104 4567 2
7 104 5678 3
8 101 4141 6
9 101 5151 3
10 102 0000 3
11 102 1111 5
12 104 7890 4
13 104 1212 1
其中结果显示每个“userid”,用户名,userfamily,...的“telorder”的最小值,并按所选日期过滤。
答案 0 :(得分:1)
我假设你在预期结果的第一行有错误。使用group by
子查询查找telorder
中的最低UserTelTable
,然后适当地加入表格。
select ut.*, utt.*
from userTable ut
join UserTelTable utt on ut.id = utt.id
join
(
select id, min(telorder) min_telorder
from UserTelTable
group by id
) t on utt.id = t.id and
utt.telorder = t.min_telorder
答案 1 :(得分:1)
您可以使用最小值
上的子查询加入链接表 select a.name, b.tel
from userTable a
inner join UserTelTable b on a.id =b.id
inner join (
select ID, min(telorder) telord
from UserTelTable
group by ID
) t on t.id =a.id and t.telord = b.telorder