• It seems the following script is doing what you are trying to achieve.

    select distinct pub.name [Publisher], P.Publisher_db, p.[Publication], s.subscriber_id, sub.name [Subscriber], [Subscriber_db]

    from

    master.sys.servers pub

    join distribution.dbo.MSsubscriptions s

    on s.publisher_id = pub.server_id

    join master.sys.servers sub

    on s.subscriber_id = sub.server_id

    join distribution.dbo.MSpublications p

    on s.[Publisher_id]=p.[Publisher_id] and s.[Publication_id]=p.[Publication_id]