[英]get earliest date for each id
给定以下
table1
id,name
1,test1
2,test2
3,test3
tablePrt
id,date
1,5/1/11
1,5/3/11
3,3/1/11
tableOnl
id,date
1,5/4/11
1,5/15/11
tableSrv
id,date
1,5/13/11
1,5/1/11
2,4/1/11
有什么方法可以从所有3个表中获得每个ID的最早最早日期以及table1中ID的名称?
因此,上面的结果应如下所示:
test1, 5/1/11
test2, 4/1/11
test3, 3/1/11
SELECT t1.id,
MIN(tbls.DATE)
FROM table1 t1
INNER JOIN (SELECT id,
DATE
FROM tableprt
UNION ALL
SELECT id,
DATE
FROM tableonl
UNION ALL
SELECT id,
DATE
FROM tablesrv) tbls
ON t1.id = tbls.id
GROUP BY t1.id
注意:正如Martin所指出的,
这里不需要做UNION ALL,
即使不需要UNION ALL,也可能会更快
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.