Firstly it should be noted that your question offers very little by way of context such that people can be specific in helping you;
a report to help us audit all publishing changes
is a very broad and generic statement indeed.
The title of {the Publication and} anything you see in the CMS will be available in same CMS instance but possibly in different tables.
At a quick glance - I'm not sure how useful the results from your query would be (granted - there's on indication of the actual requirements in terms of your actual reports). It wouldn't really provide simple data that springs to mind such as:
- how many pages did we publish on date x
- when was page x last published
- who published the most over the period x
- which pages got published the most over period x
Granted that a lot of these would be 'occasional' queries but once you declare you've reporting in place - wait for the influx of ponderings.
Joining tables to produce meaningful reports may well have implications on the impact (resource usage) of running queries in the first instance and resulting impact on current users and/or external systems.
This begs the question of running queries directly against the CM Database. From memory I don't think running Read Only queries impacts the service agreement but setting frequently running queries isn't really recommended process (at best).
Would it not make more sense to collate the information at publish time and push this out to an external DB such that you can query away until your heart is content without risk of impact to the important ones - the Editors?
May even be worth reaching out to this post and see if anything got planned towards a UI for reporting etc. (Please do add a note here if you find/use anything useful)