database - PostgreSQL 将列名更改为另一个表列

标签 database postgresql select join

我正在使用 PostgreSQL。

我有一个客户预订表,Folio,它显示了创建预订的员工 ID,以及最近更改此预订的员工的 ID。

我希望能够更改它们以显示我的 Staff 表中员工的姓名,而不是显示这些 ID。

这些表中的字段是:

FOLIO:
CREATE_STAFF_ID, CHANGE_STAFF_ID

STAFF:
STAFF_ID, NAME

我一直在尝试类似的东西:

SELECT (c.fields), p.CREATE_STAFF_ID, p.CHANGE_STAFF_ID, s.NAME
FROM OTHERTABLE c
JOIN FOLIO p ON (JOINING OTHERTABLE TO FOLIO TABLE)
JOIN STAFF s ON (p.CREATE_STAFF_ID = s.ALL_STAFF_ID)
WHERE (FILTERING);

最佳答案

如果我明白你的意思,它应该向你显示 ID 和每个 ID 的名称:

SELECT f.create_staff_id AS staff_that_created_id
      ,a.name            AS staff_that_created_name
      ,f.change_staff_id AS staff_to_change_id
      ,b.name            AS staff_to_change_name
FROM folio f
LEFT JOIN staff a ON f.create_staff_id = a.staff_id
LEFT JOIN staff b ON f.change_staff_id = b.staff_id

关于database - PostgreSQL 将列名更改为另一个表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39278435/

相关文章:

Django 和 Postgres - 索引行大小超过 btree 版本 4 最大值

python - for 循环中 Django 应用程序中的原子事务

mysql - 查询 mysql select 获取捐赠给 child 最多的玩具

sql - SQL或Pandas如何将一列拆分为多列,然后统计新列中的空值?

sql - 具有不同数据的数据库对象

mysql - 不定数量的表与不定数量的多列行

sql - 比较 varchar 和 char

javascript - bs-select 加载以前的数据 - AngularJS

R - 选择最后两列

mysql - 如何在mysql中加载数据时解决这个错误?