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 VARCHAR, product_price INTEGER)
TABLE: CREATE TABLE product_suppliers (product_id VARCHAR, supplier_id VARCHAR)
TABLE: CREATE TABLE products (product_price INTEGER)

### Question ###
Return ids of all the products that are supplied by supplier id 2 and are more expensive than the average price of all products.

### Accurate SQL ###

SELECT T1.product_id FROM product_suppliers AS T1 JOIN products AS T2 ON T1.product_id = T2.product_id WHERE T1.supplier_id = 2 AND T2.product_price > (SELECT AVG(product_price) FROM products)