首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我有两个表(membership和persons)。我想要得到每个人的名字和他们的最高职位

我有两个表(membership和persons)。我想要得到每个人的名字和他们的最高职位
EN

Stack Overflow用户
提问于 2019-11-26 03:00:55
回答 1查看 40关注 0票数 0

人员表

代码语言:javascript
复制
id name
1  boyax
2  lexan
3  joe
4  buten
5  milo

成员资格表

代码语言:javascript
复制
id  position
1   president
1   chief-clerk
1   asst-secretary
1   book-keeper
2   asst-secretary
2   book-keeper
3   book-keeper
3   chief-clerk
3   asst-secretary
4   book-keeper
4   asst-secretary
4   president
4   chief-clerk
5   chief-clerk
5   asst-secretary

成员资格排序方式:1. president, 2. chief-clerk, 3. asst-secretary and 4. booker-keeper

我尝试过这种方法:

代码语言:javascript
复制
select id, name , position from persons
left join membership on membership.id = persons.id group by persons.id

结果应该是:

代码语言:javascript
复制
id name    position
1  boyax   president
2  lexan   asst-secretary
3  joe     chief-clerk
4  buten   president
5  milo    chief-clerk

任何想法都是值得高度赞赏的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-26 04:50:16

你可以尝试下面的查询-

代码语言:javascript
复制
SELECT id, name, position
FROM(SELECT id, name, position, MAX(POS)
     FROM(select id, name, position, CASE WHEN position = 'president' THEN 1
                                          WHEN position = 'chief-clerk' THEN 2
                                          WHEN position = 'asst-secretary' THEN 3
                                          WHEN position = 'booker-keeper' THEN 4 END POS
          from persons
          left join membership on membership.id = persons.id
         ) T
          group by id, name, position
    ) TEMP
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59038486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档