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 engineer_visits ( engineer_visit_id number, contact_staff_id number, engineer_id number, fault_log_entry_id number, fault_status text, visit_start_datetime time, visit_end_datetime time, other_visit_details text )
TABLE: CREATE TABLE third_party_companies ( company_id number, company_type text, company_name text, company_address text, other_company_details text )
TABLE: CREATE TABLE parts ( part_id number, part_name text, chargeable_yn text, chargeable_amount text, other_part_details text )
TABLE: CREATE TABLE maintenance_contracts ( maintenance_contract_id number, maintenance_contract_company_id number, contract_start_date time, contract_end_date time, other_contract_details text )
TABLE: CREATE TABLE part_faults ( part_fault_id number, part_id number, fault_short_name text, fault_description text, other_fault_details text )
TABLE: CREATE TABLE asset_parts ( asset_id number, part_id number )
TABLE: CREATE TABLE staff ( staff_id number, staff_name text, gender text, other_staff_details text )
TABLE: CREATE TABLE engineer_skills ( engineer_id number, skill_id number )
TABLE: CREATE TABLE fault_log_parts ( fault_log_entry_id number, part_fault_id number, fault_status text )
TABLE: CREATE TABLE assets ( asset_id number, maintenance_contract_id number, supplier_company_id number, asset_details text, asset_make text, asset_model text, asset_acquired_date time, asset_disposed_date time, other_asset_details text )
TABLE: CREATE TABLE maintenance_engineers ( engineer_id number, company_id number, first_name text, last_name text, other_details text )
TABLE: CREATE TABLE skills ( skill_id number, skill_code text, skill_description text )
TABLE: CREATE TABLE skills_required_to_fix ( part_fault_id number, skill_id number )
TABLE: CREATE TABLE fault_log ( fault_log_entry_id number, asset_id number, recorded_by_staff_id number, fault_log_entry_datetime time, fault_description text, other_fault_details text )

### Question ###
Which assets have 2 parts and have less than 2 fault logs? List the asset id and detail.

### Accurate SQL ###

SELECT T1.asset_id, T1.asset_details FROM assets AS T1 JOIN asset_parts AS T2 ON T1.asset_id = T2.asset_id GROUP BY T1.asset_id HAVING COUNT(*) = 2 INTERSECT SELECT T1.asset_id, T1.asset_details FROM assets AS T1 JOIN fault_log AS T2 ON T1.asset_id = T2.asset_id GROUP BY T1.asset_id HAVING COUNT(*) < 2