gpt4 book ai didi

sql - postgresql 明显不工作

转载 作者:搜寻专家 更新时间:2023-10-30 21:41:31 24 4
gpt4 key购买 nike

我正在使用以下代码从数据库中获取值:

但是当我编写这段代码时(测试问题出在哪里......)我注意到查询没有从数据库中提取不同的值:这是查询


select distinct(ca.id)as id, acc.name as accName,pIsu.name as pareentIsu, sIsu.name as subIsu ,
dv.domain_value as contractType,acc.id as accId,dvct.domain_value as contractstatus<br/>
from contracts_account ca left join business_unit pIsu on ca.parent_isu_fk = pIsu.id<br/>
left join business_unit sIsu on ca.sub_isu_fk = sIsu.id<br/>
left join business_unit acc on ca.account_fk = acc.id<br/>
left join contracts con on con.contracts_account_fk = ca.id<br/>
left join domain_values dv on dv.id = con.contract_type_fk<br/>
left join domain_values dvct on dvct.id = con.contract_status_fk<br/>
where ca.id is not null and con.contract_type_fk in ( 4466079 ) order by ca.id

这个查询根本没有返回给我 'Distinct Id'
我究竟做错了什么?我正在使用 postgres 8.2

最佳答案

您的查询被解释为:

select distinct (ca.id) as id, acc.name as accName, . . .

这是一个标准的distinct语句。如果您只希望每个 ca.id 的一行包含第一行的值(基于 order by),则使用 distinct on:

select distinct on (ca.id) ca.id, acc.name as accName, . . .

关于sql - postgresql 明显不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21166383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com