Mysql 查询后如何选择其中一行?

Mysql 查询后如何选择其中一行?,mysql,sql,Mysql,Sql,表1: +-----------+----------+ | CODE | TYPEID | +-----------+----------+ | 441 | mn014 | | 223 | mn014 | | 224 | mn014 | | 655 | mn089 | | 854 | mn089 | | 449 | mn032 | +-----------+--------

表1:

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

+-----------+----------+----------+
| 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 |
+-----------+---------------------+
我选择了类型ID mn014的所有代码,这些代码在第二个表中不存在,或者在表2中存在的所有实例中在RTURNDTE列中不为空 使用此选项:

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
                 );
现在我不知道如何在最后选择一个代码


有什么想法吗?

如果您想要任何单个结果,请在查询末尾添加
按兰德排序()限制1


如果要查找特定的代码值,请在查询末尾添加
和code='my code value'

您可以
限制
结果集,并
排序列对结果集进行排序,然后再限制:

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
                 );
LIMIT 1
ORDER BY some_column

预期的结果是什么?