List Transactions During Active 'Gold' Membership Period
RobinhoodData Scientist · Technical ScreenLast updated
This question evaluates proficiency in SQL-based data manipulation and temporal reasoning, specifically the ability to correlate membership periods with transaction records using relational operations.
customer_profile
+-------------+----------------+--------------------+-------------------+ | customer_id | membership_type| membership_start_date| membership_end_date| +-------------+----------------+--------------------+-------------------+ | 101 | Gold | 2023-01-01 | 2023-12-31 | | 102 | Silver | 2023-02-15 | 2023-08-15 | | 103 | Gold | 2023-03-01 | 2023-09-01 | +-------------+----------------+--------------------+-------------------+
transactions
+---------------+-------------+-----------------+--------+ | transaction_id| customer_id | transaction_date| amount | +---------------+-------------+-----------------+--------+ | 1001 | 101 | 2023-03-10 | 120.00 | | 1002 | 102 | 2023-09-01 | 50.00 | | 1003 | 103 | 2023-05-05 | 300.00 | +---------------+-------------+-----------------+--------+
Scenario
Fintech platform wants to list every transaction that occurred while a customer’s specific membership tier was active.
Question
Given tables customer_profile (customer_id, membership_type, membership_start_date, membership_end_date) and transactions (transaction_id, customer_id, transaction_date, amount), write a SQL query that returns all transactions that happened during the customer’s active 'Gold' membership period.
Hints
Join on customer_id, filter membership_type, date between start and end (inclusive).
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.