连接表保留顺序可能多次出现

时间:2014-02-09 21:35:45

标签: sql join

我有一个由ord1命令的表A:

_______________
| ord1 | col1 | 
---------------
| 1    |  abc |
---------------
| 2    |  def |
---------------
| 3    |  ghi |
---------------
| 4    |  abc |
--------------- 
| 5    |  jkl |
---------------
| 6    |  def |
---------------
| 7    |  mno |
---------------

...和表B,由ord2命令:

_______________
| ord2 | col2 | 
---------------
| 1    |  abc |
---------------
| 2    |  ghi |
---------------
| 3    |  pqr |
---------------
| 4    |  abc |
--------------- 

我需要以保持有序的方式将表A与表B连接起来以获得:

___________________
| ord1| ord2| col1|
-------------------
| 1   | 1   | abc |
------------------- 
| 3   | 2   | ghi |
------------------- 
| 4   | 4   | abc |
------------------- 

所以,我需要加入col1和col2,但是表B必须作为表A的“过滤器”。 请注意表A和表B中的多次出现。

此致 安东尼奥

1 个答案:

答案 0 :(得分:0)

尝试

SELECT t1.ord1,MAX(t2.ord2)ord2,t1.col1
FROM table1 t1 JOIN table2 t2
ON t1.col1=t2.col2
AND  t1.ord1>=t2.ord2
GROUP BY t1.ord1

SQL Fiddle