I received some great help, so I thought I would share what I learned
This is from user suyog
SELECT X.groupMemberId, B.title,
MAX(CASE WHEN A.field_id = 48 THEN value END) AS FIRSTNAME,
MAX(CASE WHEN A.field_id = 49 THEN value END) AS LASTNAME,
MAX(CASE WHEN C.field_id = 58 THEN value END) AS ORGANIZATION,
MAX(CASE WHEN C.field_id = 50 THEN value END) AS ADDRESS,
MAX(CASE WHEN C.field_id = 51 THEN value END) AS ADDRESS2,
MAX(CASE WHEN C.field_id = 52 THEN value END) AS CITY,
MAX(CASE WHEN C.field_id = 53 THEN value END) AS STATE,
MAX(CASE WHEN C.field_id = 54 THEN value END) AS ZIP
FROM ` jos_dtregister_group_member` AS X
INNER JOIN ( SELECT * FROM jos_dtregister_member_field_values) AS A ON X.groupMemberID = A.member_id
INNER JOIN ( SELECT * FROM jos_dtregister_group_event) AS B ON X.eventId = B.slabId
INNER JOIN ( SELECT * FROM jos_dtregister_group_amount) AS C ON X.userID = C.groupId
GROUP By X.userID
This should give you an idea of how to do it for group members... The field_id can be found in the table jos_dtregister_fields
Here is how I modified it for individual registrations
SELECT C.title as Title, B.fee, B.paid_amount,
CASE B.status
WHEN 1 THEN 'Yes'
ELSE 'No'
END AS Paid,
CASE B.payment_method
WHEN 1 THEN 'Pay Later'
WHEN 2 THEN 'Pay Later'
WHEN 3 THEN 'Pay Later'
END AS Method,
MAX(CASE WHEN A.field_id = 16 THEN value END) AS FIRSTNAME,
MAX(CASE WHEN A.field_id = 17 THEN value END) AS LASTNAME,
MAX(CASE WHEN A.field_id = 18 THEN value END) AS ADDRESS,
MAX(CASE WHEN A.field_id = 19 THEN value END) AS ADDRESS2,
MAX(CASE WHEN A.field_id = 20 THEN value END) AS CITY,
MAX(CASE WHEN A.field_id = 21 THEN value END) AS STATE,
MAX(CASE WHEN A.field_id = 22 THEN value END) AS ZIP,
MAX(CASE WHEN A.field_id = 9 THEN value END) AS Unit
FROM `jos_dtregister_user` AS X
INNER JOIN ( SELECT * FROM jos_dtregister_user_field_values)AS A ON X.userId = A.user_id
INNER JOIN ( SELECT * FROM jos_dtregister_fee) AS B ON X.userID=B.user_id
INNER JOIN ( SELECT * FROM jos_dtregister_group_event) AS C on X.eventId=C.slabId
WHERE C.category=3
GROUP By X.userId
I added an CASE operation to the payment method and payment status, so it didn't just display a number. I added the WHERE statement on the second to last line to only querry on events in a specific category, you could change that to an event id, or leave it off for all records. This isn't complete, but should give you a starting point, it certainly helped me out.