title: Get a list of suppliers ordered by the earliest of their "has many" insurance expiry dates
body: <p>I need to provide a filter that sorts businesses (that "has many" contracts) by their earliest insurance expiry date.</p>
  
  <p>I've tried:</p>
  
  <pre class="lang-sql prettyprint-override"><code>SELECT
      sc.supplier_id,
      b.business_name,
      MIN(c.insurance_expiry) as contract_expiry
  FROM ph_supplier_completed sc
      INNER JOIN ph_business b ON sc.supplier_business_id = b.business_id 
      LEFT JOIN ph_supplier_insurance c ON sc.supplier_id = c.supplier_id
  ORDER BY
      sc.supplier_id DESC
  </code></pre>
  
  <p>But that doesn't appear to be right - although it does give me the earliest expiry date in its respective column it only returns 1 row when I have 1800~ suppliers and 1700~ have insurance records</p>
  
  <p>I need a list returned that contains those 1800~ suppliers, with a column that shows the earliest insurance expiry date (if they have one)</p>