good first issue
Description
For tables where the majority of 'columns' are abstracted under a top-level column, e.g. body or msg, we don't surface the struct accessor as the column name, rendering analysis of these queries unusable.
Ideally, if we had a msg.name, msg.attrs.foo, msg.attrs.bar struct, we'd see the leaf struct names as the column name, i.e. msg.name, msg.attrs.foo, etc. Instead, we currently see msg for all of them.