Disculpen que suene atrevido, pero ¿Que necesidad hay de devolver un campo repetido?
Si ya estas mostrando el campo A.idObra para que mostrar el campo B.IdObra si este tiene el mismo valor que el de la tabla anterior (A)?
La SQL debería ser:
Código SQL
[-]
select A.*
from A iner join B ON A.idObra = B.idObra
Saludos,