Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 是否可以从一个表中的两列创建一个“变量”,并使用它在另一个表中查找结果_Postgresql_Node Postgres - Fatal编程技术网

Postgresql 是否可以从一个表中的两列创建一个“变量”,并使用它在另一个表中查找结果

Postgresql 是否可以从一个表中的两列创建一个“变量”,并使用它在另一个表中查找结果,postgresql,node-postgres,Postgresql,Node Postgres,我在一个表financials中有一个唯一标识符AB,其值类似于“123-456”。在另一个表中,project_info I有两列a和B a有破折号的第一部分,B有第二部分 例如,如果财务部门的AB为“123-456”,则项目信息的A为123,B为456 我的目标是从财务表中选择信息,其中AB等于projects_info中的A‘dash’B from projects_info 我脑海中理想的SQL查询应该是这样的: 从财务中选择*,其中AB=从项目信息中选择A-从项目信息中选择B 我知道这

我在一个表financials中有一个唯一标识符AB,其值类似于“123-456”。在另一个表中,project_info I有两列a和B a有破折号的第一部分,B有第二部分

例如,如果财务部门的AB为“123-456”,则项目信息的A为123,B为456

我的目标是从财务表中选择信息,其中AB等于projects_info中的A‘dash’B from projects_info

我脑海中理想的SQL查询应该是这样的:

从财务中选择*,其中AB=从项目信息中选择A-从项目信息中选择B

我知道这是不正确的,但我尝试过这样做:

从财务报表中选择*,其中AB=concat\w从项目信息中选择A,从项目信息中选择B

我得到的和预期的错误是 由用作表达式的子查询返回的多行

在普通的PostgreSQL代码中是否可能出现类似的情况


作为补充信息,我希望最终使用包Node-postgres.com在Node中调用此查询

您要做的是针对该特定情况:

SELECT *
FROM financials f
JOIN projects_info pi ON(f."AB" = concat_ws('-', pi."A", pi."B")

此外,您可能还想使用concatpi.A、“-”、pi.B或仅使用pi.A | | | | | | pi.B来代替concat|ws。

谢谢!工作得很好。