Hi Betlejuice,
Yes, the from and to fields are only virtual and not stored as real column in the SQL Database, so you cannot find using standard query.
Basically, every time a record with type = Activity (can be Phone call, email, task, appointment, etc) is created, the CRM will create records in ActivityPointer table and ActivityParty Table.
CRM has each entity stored in the SQL Table as well for each activity type, such as entity Phone Call, Email, Task, and Appointment, which they are having different fields, From and To fields are not in all of the entity, like Appointment, it has require attendee or organizer. So that, it can be various. But, any related customer or system user for each activity will be stored in the ActivityPointer and ActivityParty.
The 'From', 'To', 'Organizer', etc is just a mask to indicate the participation type of the parties.
It is not an easy query. So that, you should combine the ActivityPointer table with the ActivityParty.
This is the query that can help you.
SELECT distinct(ActPointer.ActivityId), ActPointer.activitytypecodename AS activitytype,
ActPointer.subject AS subject,
Coalesce(Account.name, Contact.fullname, SystemUser.fullname) as CustomerName,
Coalesce(Account.name, Contact.lastname, SystemUser.lastname) as CustomerSurname,
ActParty.participationtypemaskname as ParticipationType
FROM FilteredActivityPointer AS ActPointer
--define all of the activity type your Orgaization has (Optional, if you need specific field from each Entity, such as Task, Phone Call, etc)
-- you can comment these lines
LEFT JOIN FilteredTask AS Task ON ActPointer.activityid = Task.activityid
LEFT JOIN FilteredEmail AS Email ON ActPointer.activityid = Email.activityid
LEFT JOIN FilteredAppointment AS Appointment ON ActPointer.activityid = Appointment.activityid
LEFT JOIN FilteredPhoneCall AS PhoneCall ON ActPointer.activityid = PhoneCall.activityid
LEFT JOIN FilteredLetter AS Letter ON ActPointer.activityid = Letter.activityid
--join activity party (Account and Contact)
Inner Join FilteredActivityParty AS ActParty on ActPointer.activityid = ActParty.ActivityId
left join FilteredAccount AS Account on ActParty.PartyId = Account.AccountId
and ActParty.partyidname is not null
left join FilteredContact AS Contact on ActParty.PartyId = Contact.ContactId
and ActParty.partyidname is not null
left join FilteredSystemUser As SystemUser on ActParty.PartyId = SystemUser.systemuserid
Where ActParty.PartyIdName is not null
--you can choose to show by customer/system user participation
and participationtypemaskname in
(
'Sender', 'To Recipient', 'Organizer', 'Owner', 'Regarding', 'Required attendee'
)
And here is the result:

Hope this helps!
Thanks.