【发布时间】:2016-11-16 19:24:03
【问题描述】:
我使用 Informix 数据库,其中有一个 coord 表:
+--------------------+-------------+
| Field | Type |
+--------------------+-------------+
| cm_key_coord_code | char(8) |
| cm_t_coor | int |
| descr_coord | char(30) |
+--------------------+-------------+
其中包含如下所示的数据:
+-cm_key_coord_code-+-cm_t_coor-+-descr_coord-+
+ 00000001 + 1 + coord01a +
+ 00000001 + 2 + coord01b +
+ 00000002 + 1 + coord02a +
+ 00000002 + 2 + coord02b +
+ 00000003 + 1 + coord03a +
+ 00000004 + 2 + coord04a +
+ 00000005 + 1 + coord05a +
+-------------------+-----------+-------------+
该表有多个记录,其 cm_key_coord_code 相同,但 cm_t_coor 不同。如何选择只有 cm_t_coor != 2 行的 cm_key_coord_code?p>
我只想选择以下值:
+-cm_key_coord_code-+-cm_t_coor-+-descr_coord-+
+ 00000003 + 1 + coord03a +
+ 00000005 + 1 + coord05a +
+-------------------+-----------+-------------+
【问题讨论】:
-
使用排名函数可能是一种解决方案
-
@Vijey 你能举个例子吗?
-
如果有两行具有某个 cm_key_coord_code 但其中一个 cm_t_coor = 1 和另一个 cm_t_coor = 3 怎么办?应该返回一行还是两行或都不返回?
-
@kbball cm_t_coor = 1 和 cm_t_coor = 3 的两行都应该返回。