Below is the list of tables from the database along with their columns and datatype. Need to generate an accurate SQL query for the question.
Only use the columns present in the respective table. Only use the columns which are required to generate the SQL query. Only use table joins if required and not otherwise.

### Tables ###
TABLE: CREATE TABLE products ( product_id number, product_type_code text, product_name text, product_price number )
TABLE: CREATE TABLE assets_in_events ( asset_id number, event_id number )
TABLE: CREATE TABLE finances ( finance_id number, other_details text )
TABLE: CREATE TABLE events ( event_id number, address_id number, channel_id number, event_type_code text, finance_id number, location_id number )
TABLE: CREATE TABLE locations ( location_id number, other_details text )
TABLE: CREATE TABLE assets ( asset_id number, other_details text )
TABLE: CREATE TABLE channels ( channel_id number, other_details text )
TABLE: CREATE TABLE agreements ( document_id number, event_id number )
TABLE: CREATE TABLE parties ( party_id number, party_details text )
TABLE: CREATE TABLE parties_in_events ( party_id number, event_id number, role_code text )
TABLE: CREATE TABLE addresses ( address_id number, address_details text )
TABLE: CREATE TABLE products_in_events ( product_in_event_id number, event_id number, product_id number )

### Question ###
Show the names of products that are in at least two events.

### Accurate SQL ###

SELECT T1.product_name FROM products AS T1 JOIN products_in_events AS T2 ON T1.product_id = T2.product_id GROUP BY T1.product_name HAVING COUNT(*) >= 2