我有一个名为
是否可以编写一个
例如,如果我们知道所有可能的目标外键表都有一个
任何使用PlpgSQL的解决方案都被接受。
以下是一个简单的内容:
预期的结果表应该是:
table
的表,包含两列foreign_table_name
和foreign_key
。是否可以编写一个
SELECT
查询来JOIN
此表的值和在foreign_table_name
列中指定的表的值?例如,如果我们知道所有可能的目标外键表都有一个
name
字段,我想知道是否可以编写一些内容来实现:SELECT table.foo, table.bar, foreign_table.name
FROM table
JOIN $foreign_table AS foreign_table
ON (foreign_table.id = table.foreign_key
$foreign_table = table.foreign_table);
任何使用PlpgSQL的解决方案都被接受。
以下是一个简单的内容:
Table ``table``
------------------------------------------------
| foo | bar | foreign_table_name | foreign_key |
------------------------------------------------
| A | 1 | fruits | 8 |
| B | 2 | vegetable | 5 |
------------------------------------------------
Table ``fruit``
---------------
| id | name |
---------------
| 8 | apple |
---------------
Table ``vegetable``
----------------
| id | name |
----------------
| 5 | carrot |
----------------
预期的结果表应该是:
----------------------
| foo | bar | name |
----------------------
| A | 1 | apple |
| B | 2 | carrot |
----------------------
编辑:我添加了完整的表格示例,以便更清晰地说明。
EXECUTE
命令。或者从您的客户端生成查询。 - Craig Ringer