同じ(a_row_id
)誤ったフィールド
ここで、B
とのを取得します。実行して、は:
ctx.select()
.from(
Tables.A
.leftOuterJoin(Tables.B).onKey()
.leftOuterJoin(Tables.C).onKey()
)
.where(someCondition)
.fetch()
私が参加し、私は(この時点で)私が探しているどちらかわからないので、B
の両方を超えるとC
。
しかし、私は私がB
を取得し、これを実行する必要があります知っている:
ctx.select()
.from(
Tables.A
.leftOuterJoin(Tables.B).onKey()
)
.where(someCondition)
.fetch()
私はrecord.field(Tables.B.A_ROW_ID).toString()
をすれば、私は"b.a_row_id"
を取得し、私はrecord.getValue(Tables.B.A_ROW_ID)
をすれば、私は期待値を取得した上でRecord
を取得。
しかし、私がrecord.field(Tables.C.A_ROW_ID).toString()
を行うと、私は"b.a_row_id"
を得て、record.getValue(Tables.C.A_ROW_ID)
はrecord.getValue(Tables.B.A_ROW_ID)
の期待値を与えます。
親テーブルを参照する列名が同じであるため、これが起こっていると思います。
jOOQは、テーブル内の唯一のテーブルであれば、テーブルのfield_nameのみを使用します(完全修飾された "table.field_name"ではなく)。
これに関するお手伝いがあれば幸いです。