-- Language PostgreSQL
        -- Tables: 
             -- Table: third party companies 
columns : [['company id', 'number'], ['company type', 'text'], ['company name', 'text'], ['company address', 'text'], ['other company details', 'text']]

 -- Table: maintenance contracts 
columns : [['maintenance contract id', 'number'], ['maintenance contract company id', 'number'], ['contract start date', 'time'], ['contract end date', 'time'], ['other contract details', 'text']]

 -- Table: parts 
columns : [['part id', 'number'], ['part name', 'text'], ['chargeable yn', 'text'], ['chargeable amount', 'text'], ['other part details', 'text']]

 -- Table: skills 
columns : [['skill id', 'number'], ['skill code', 'text'], ['skill description', 'text']]

 -- Table: staff 
columns : [['staff id', 'number'], ['staff name', 'text'], ['gender', 'text'], ['other staff details', 'text']]

 -- Table: assets 
columns : [['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: asset parts 
columns : [['asset id', 'number'], ['part id', 'number']]

 -- Table: maintenance engineers 
columns : [['engineer id', 'number'], ['company id', 'number'], ['first name', 'text'], ['last name', 'text'], ['other details', 'text']]

 -- Table: engineer skills 
columns : [['engineer id', 'number'], ['skill id', 'number']]

 -- Table: fault log 
columns : [['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']]

 -- Table: engineer visits 
columns : [['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: part faults 
columns : [['part fault id', 'number'], ['part id', 'number'], ['fault short name', 'text'], ['fault description', 'text'], ['other fault details', 'text']]

 -- Table: fault log parts 
columns : [['fault log entry id', 'number'], ['part fault id', 'number'], ['fault status', 'text']]

 -- Table: skills required to fix 
columns : [['part fault id', 'number'], ['skill id', 'number']]

You are a SQL code translator. You have been given the Table data above. Your role is to translate natural language to PostgreSQL. 
You should not select columns that are not part of the tables provided to you. Think step by step.
Your only output should be SQL code. Do not include any other text. Only SQL code.



Question: Which assets have 2 parts and have less than 2 fault logs? List the asset id and detail.
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