gpt4 book ai didi

sql - PostgreSQL libpq : PQNumber and column aliases

转载 作者:太空宇宙 更新时间:2023-11-04 04:02:31 25 4
gpt4 key购买 nike

在 Postgres libpq sql 中有一个函数 PQfnumber:返回与给定列名关联的列号。

假设我有一个选择:

select a.*, b.* from a, b where a.id = b.id

现在如果我打电话

number = PQfnumber(pgresult, "a.id");

它将返回-1。

正确的方法是调用:

number = PQfnumber(pgresult, "id");

返回 a.id 的位置。那么我需要如何调用该函数来获取 b.id 的列号呢?唯一的解决办法似乎是写一个不同的选择:

select a.id as a_id, a.*, b.id as b_id, b.* from a, b where a.id = b.id

number = PQfnumber(pgresult, "b_id");

还有其他办法吗?

最佳答案

不,你找到了正确的方法。

当然,在内部联接中使用 a.id = b.id(如示例代码中所示),您为什么要关心正在查看的列?此外,有充分的理由将 id 列作为每个表的主键。即使许多表都有单列整数键,如果您始终命名包含给定表主键的列,则可以使用更简洁、更高效的语法,如 JOIN ... USING

关于sql - PostgreSQL libpq : PQNumber and column aliases,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10176926/

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