【发布时间】:2011-07-15 10:24:37
【问题描述】:
我有两张桌子:
联系人:
id, name
1 Alex
2 John
文件:
id, contactID, type
1 1 1
2 1 2
...
30 1 3
31 2 1
32 2 3
我想获取联系人姓名和文档类型。 每个联系人的唯一记录。联系人可能有多种文档类型(每种类型的唯一文档),我对文档类型有以下优先级:2、3、1。 例如,Alex 拥有所有类型的文档,但我应该只得到:
Alex, 2
John 的文档类型 = 1、3,因此我应该得到:
John, 3
甲骨文数据库。但是如果你能给出sql标准的解决方案那就太好了
【问题讨论】:
-
你有一个单独的表来规定优先级吗?
-
这是一个相当有趣的问题。我想知道有多少答案会通过对函数
(type*8+3)%10进行排序来实现您的优先级要求。以一种变态的方式工作。 :-) -
@Alex R.,不,我没有。
-
@Alexandr:那你如何确定优先级?还是总是 2、3、1?
-
@Alex R.,总是2、3、1。假设在查询中配置了