PostgreSQL 查询第一个查询结果为表名,第二个sql以第一个结果作为表名进行查询 使用临时表查询
时间: 2024-01-01 11:07:04 浏览: 88
可以使用以下的 SQL 语句来实现:
```
WITH table_name AS (
SELECT column_name
FROM information_schema.columns
WHERE table_name = 'first_table'
LIMIT 1
)
SELECT *
FROM table_name, second_table
WHERE table_name.column_name = second_table.column_name;
```
这个 SQL 查询语句中使用了 Common Table Expression(CTE),即 WITH 子句来创建了一个临时表 `table_name`,它的查询结果是第一个查询语句返回的表名的一个列名。然后在第二个查询语句中,使用这个临时表来查询第二个表 `second_table`,并且通过 `table_name.column_name = second_table.column_name` 来关联这两个表。
注意,这个 SQL 查询语句中的 `first_table` 和 `second_table` 分别代表第一个查询语句和第二个查询语句所查询的表名,需要根据实际情况进行替换。
阅读全文