繁体   English   中英

Postgresql 列引用“id”不明确

[英]Postgresql column reference "id" is ambiguous

我尝试了以下选择:

SELECT (id,name) FROM v_groups vg 
inner join people2v_groups p2vg on vg.id = p2vg.v_group_id
where p2vg.people_id =0;

我得到以下错误列引用id不明确。

事情是,如果我尝试相同的SELECT但我只要求name ,而不是id ,它就可以工作。 我对此很陌生,也许我遗漏了一些明显的东西。 有什么建议?

谢谢。

您需要SELECT部分中的表名/别名(也许(vg.id, name) ):

SELECT (vg.id, name) FROM v_groups vg 
inner join people2v_groups p2vg on vg.id = p2vg.v_group_id
where p2vg.people_id =0;

我想你的 p2vg 表也有一个 id 字段,在这种情况下,postgres 无法找到SELECT的 id 是指 vg 还是 p2vg。

你应该使用SELECT(vg.id,vg.name)来消除歧义

SELECT (vg.id, name) FROM v_groups vg 
INNER JOIN people2v_groups p2vg ON vg.id = p2vg.v_group_id
WHERE p2vg.people_id = 0;
SELECT vg.id, 
       vg.name
  FROM v_groups vg INNER JOIN  
       people2v_groups p2vg ON vg.id = p2vg.v_group_id
 WHERE p2vg.people_id = 0;

在 Postgresql 中,您可以只使用一个表和任何其他您想要的列。

Select "table_a"*,"table_b" as "table_bId" From "table_a" join "table_b" on "table_a"."Id" = "table_b"."table_aId"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM