Sql 如何使用Postgres在子查询中使用left函数
我有这样一个问题:Sql 如何使用Postgres在子查询中使用left函数,sql,postgresql,Sql,Postgresql,我有这样一个问题: select * from employee where (employee_id in (SELECT DISTINCT SubTable.blockid FROM broad.territory_block BlockSubTable WHERE ( (
select * from employee where (employee_id in (SELECT DISTINCT
SubTable.blockid
FROM
broad.territory_block
BlockSubTable
WHERE ( (
BlockSubTable.id IN ( 398 ) ))))
现在我的employee\u id
是10位数字,子查询的输出是13位数字。我尝试使用left(“”,10)
来匹配子查询输出,但是misplaced left函数得到错误。有人能帮助我如何使用left
函数匹配结果吗。我需要将employee\u id
与子查询输出匹配
注意:这不是实际的查询,创建此查询是为了解释问题只需将其应用于列:
select *
from employee
where employee_id in (SELECT left(blockid, 13)
FROM BlockSubTable
WHERE BlockSubTable.id IN ( 398 ) )
只需将其应用于列:
select *
from employee
where employee_id in (SELECT left(blockid, 13)
FROM BlockSubTable
WHERE BlockSubTable.id IN ( 398 ) )
样本数据和期望的结果将非常有用。我完全不明白为什么你要将名为employeeid
的东西与名为blockid
的东西进行比较。这些列的数据类型是什么?你是否尝试过从…样本数据中选择DISTINCT LEFT(SubTable.blockid,10)和期望的结果真的会有帮助。我完全不明白为什么你会将名为employeeid
的内容与名为blockid
的内容进行比较。这些列的数据类型是什么?你是否尝试过从中选择DISTINCT LEFT(SubTable.blockid,10)…非常感谢你的快速帮助。!!:D@Developer52如果答案能解决您的问题,您应该接受。非常感谢您的快速帮助。!!:D@Developer52如果答案能解决你的问题,你应该接受