SQL - 从查询中选择最高结果

时间:2015-02-04 21:50:38

标签: mysql sql stored-procedures join

我使用下面的数据来获取TYPEID的代码,该代码在表2中不存在或存在且在RTURNDTE列中不为空。

我已经管理了它从表1中返回符合条件的所有行,但我希望它只返回代码列中的一行 符合标准,无法弄清楚如何。

数据:

表1:

+-----------+----------+
|    CODE   |  TYPEID  |
+-----------+----------+
| 441       |  mn014   |
| 223       |  mn014   |
| 224       |  mn014   |
| 655       |  mn089   |
| 854       |  mn089   |
| 449       |  mn032   |
+-----------+----------+

TABLE2:

+-----------+----------+----------+
| CODE      | TAKENDTE | RTURNDTE |
+-----------+----------+----------+
| 441       | 25/08/14 | 01/01/15 |
| 223       | 25/08/14 | 03/01/15 |
| 223       | 25/08/14 | 01/02/15 |
| 223       | 25/08/14 |   NULL   |
| 655       | 25/08/14 | 07/01/15 |
| 854       | 25/08/14 |   NULL   |
| 449       | 25/08/14 | 06/01/15 |
+-----------+---------------------+

我的代码:

select t1.*
from table1 t1
where typeid = 'mn014' and
      not exists (select 1
                  from table2 t2
                  where t2.code = t.code and
                        t2.rturndte is null
                 );

任何帮助都会很棒,坚持几个小时,谢谢。

0 个答案:

没有答案