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");
これを回避する他の方法はありますか?