查找多列的引用值

时间:2016-03-01 18:43:52

标签: sql postgresql

我有一个表格Setpoints,其中包含3列BaseEffectiveActual,其中包含一个id,指的是io中找到的项目1}}。

我想提出一个查询,该查询将返回io_value表格中找到的io id Setpoints

目前,我的查询将返回多个id,然后查询io表格,找到每个io_value的{​​{1}}。

Ex Query返回行中的ID

id

但我希望它返回值而不是id

Ex返回id的值而不是

row #   |  base  | effective  | actual
  1     |  24    |   30       | 40
  2     |  25    |   31       | 41
  3     |  26    |   32       | 42

以下是表格字段

row #   |  base  | effective  | actual
  1     |  2.3   |   4.5      |  3.44
  2     |  4.2   |   7.7      |  4.41
  3     |  3.9   |   8.12     |  5.42

使用postgres 9.5

我现在使用的是什么

IO
io_value
io_id

Setpoints
stpt_base
stpt_effective
stpt_actual

1 个答案:

答案 0 :(得分:1)

您可以使用每个io中的三列将setpoints表格连接到JOIN表格三次来解决此问题:

SELECT a.io_value AS base,
       b.io_value AS effective,
       c.io_value AS actual
FROM setpoints s
JOIN io a ON a.io_id = s.stpt_base
JOIN io b ON b.io_id = s.stpt_effective
JOIN io c ON c.io_id = s.stpt_actual;