CREATE TABLE Services (
    Service_ID NUMBER PRIMARY KEY,
    Service_Type_Code TEXT
);
CREATE TABLE Participants (
    Participant_ID NUMBER PRIMARY KEY,
    Participant_Type_Code TEXT,
    Participant_Details TEXT
);
CREATE TABLE Events (
    Event_ID NUMBER PRIMARY KEY,
    Service_ID NUMBER,
    Event_Details TEXT,
    FOREIGN KEY ("Service_ID") REFERENCES Services("Service_ID")
);
CREATE TABLE Participants_in_Events (
    Event_ID NUMBER PRIMARY KEY,
    Participant_ID NUMBER,
    FOREIGN KEY ("Event_ID") REFERENCES Events("Event_ID"),
    FOREIGN KEY ("Participant_ID") REFERENCES Participants("Participant_ID")
);

Question: what are the event details of the services that have the type code 'Marriage'?
SQL: SELECT T1.event_details FROM EVENTS AS T1 JOIN Services AS T2 ON T1.Service_ID  =  T2.Service_ID WHERE T2.Service_Type_Code  =  'Marriage'

Question: What are the ids and details of events that have more than one participants?
SQL: SELECT T1.event_id ,  T1.event_details FROM EVENTS AS T1 JOIN Participants_in_Events AS T2 ON T1.Event_ID  =  T2.Event_ID GROUP BY T1.Event_ID HAVING count(*)  >  1

Question: How many events have each participants attended? List the participant id, type and the number.
SQL: SELECT T1.Participant_ID ,  T1.Participant_Type_Code ,  count(*) FROM Participants AS T1 JOIN Participants_in_Events AS T2 ON T1.Participant_ID  =  T2.Participant_ID GROUP BY T1.Participant_ID

Question: What are all the the participant ids, type code and details?
SQL: SELECT Participant_ID ,  Participant_Type_Code ,  Participant_Details FROM  Participants

Question: How many participants belong to the type 'Organizer'?
SQL: SELECT count(*) FROM participants WHERE participant_type_code  =  'Organizer'

Question: List the type of the services in alphabetical order.
SQL: SELECT service_type_code FROM services ORDER BY service_type_code

Question: List the service id and details for the events.
SQL: SELECT service_id ,  event_details FROM EVENTS

Question: How many events had participants whose details had the substring 'Dr.'
SQL: SELECT count(*) FROM participants AS T1 JOIN Participants_in_Events AS T2 ON T1.Participant_ID  =  T2.Participant_ID WHERE T1.participant_details LIKE '%Dr.%'

Question: What is the most common participant type?
SQL: SELECT participant_type_code FROM participants GROUP BY participant_type_code ORDER BY count(*) DESC LIMIT 1

Question: Which service id and type has the least number of participants?
SQL: SELECT T3.service_id ,  T4.Service_Type_Code FROM participants AS T1 JOIN Participants_in_Events AS T2 ON T1.Participant_ID  =  T2.Participant_ID JOIN EVENTS AS T3 ON T2.Event_ID   =  T3.Event_ID JOIN services AS T4 ON T3.service_id  =  T4.service_id GROUP BY T3.service_id ORDER BY count(*) ASC LIMIT 1

Question: What is the id of the event with the most participants?
SQL: SELECT Event_ID FROM Participants_in_Events GROUP BY Event_ID ORDER BY count(*) DESC LIMIT 1

Question: Which events id does not have any participant with detail 'Kenyatta Kuhn'?
SQL: SELECT event_id FROM EVENTS EXCEPT SELECT T1.event_id FROM Participants_in_Events AS T1 JOIN Participants AS T2 ON T1.Participant_ID  =  T2.Participant_ID WHERE Participant_Details  =  'Kenyatta Kuhn'

Question: Which services type had both successful and failure event details?
SQL: SELECT T1.service_type_code FROM services AS T1 JOIN EVENTS AS T2 ON T1.service_id  =  T2.service_id WHERE T2.event_details  =  'Success' INTERSECT SELECT T1.service_type_code FROM services AS T1 JOIN EVENTS AS T2 ON T1.service_id  =  T2.service_id WHERE T2.event_details  =  'Fail'

Question: How many events did not have any participants?
SQL: SELECT count(*) FROM EVENTS WHERE event_id NOT IN (SELECT event_id FROM Participants_in_Events)

Question: What are all the distinct participant ids who attended any events?
SQL: SELECT count(DISTINCT participant_id) FROM participants_in_Events