SQL Query to Retrieve Latest Check-in an Check-out Times for Attendees

This query pulls each attendee’s latest check-in and check-out times as separate columns in a single row. This is helpful for tracking attendance during events.Here is an example output: 

SQL Query

SELECT 
    attendee.ATT_fname AS FirstName,
    attendee.ATT_lname AS LastName,
    registration.REG_code AS RegistrationCode,
    MAX(CASE WHEN checkin.CHK_in = 1 THEN checkin.CHK_timestamp END) AS CheckInTime,
    MAX(CASE WHEN checkin.CHK_in = 0 THEN checkin.CHK_timestamp END) AS CheckOutTime
FROM 
    wp_esp_checkin AS checkin
JOIN 
    wp_esp_registration AS registration ON checkin.REG_ID = registration.REG_ID
JOIN 
    wp_esp_attendee_meta AS attendee ON registration.ATT_ID = attendee.ATT_ID
GROUP BY 
    attendee.ATT_ID, attendee.ATT_fname, attendee.ATT_lname, registration.REG_code
HAVING 
    CheckInTime IS NOT NULL 
    AND 
    CheckOutTime IS NOT NULL
ORDER BY 
    attendee.ATT_lname, attendee.ATT_fname;

Explanation

  • CheckInTime: Retrieves the latest check-in timestamp for each attendee.
  • CheckOutTime: Retrieves the latest check-out timestamp for each attendee.
  • GROUP BY: Ensures each row represents a unique attendee with one check-in and one check-out timestamp.
  • HAVING: Filters results to include only attendees who have both check-in and check-out data.
  • ORDER BY: Sorts results by last name and first name for easy viewing.

Use Cases

  • Tracking attendance during events to confirm attendees' check-in and check-out times.
  • Generating time logs for event management purposes.

This query can be run directly on your Event Espresso database to monitor attendee attendance efficiently.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us