title: Left Join With Where Clause
body: <p>I need to retrieve all default settings from the settings table but also grab the character setting if exists for x character. </p>
  
  <p>But this query is only retrieving those settings where character is = 1, not the default settings if the user havent setted anyone.</p>
  
  <pre><code>SELECT `settings`.*, `character_settings`.`value`
  FROM (`settings`)
  LEFT JOIN `character_settings` 
  ON `character_settings`.`setting_id` = `settings`.`id`
  WHERE `character_settings`.`character_id` = '1'  
  </code></pre>
  
  <p>So i should need something like this:</p>
  
  <pre><code>array(
      '0' =&gt; array('somekey' =&gt; 'keyname', 'value' =&gt; 'thevalue'),
      '1' =&gt; array('somekey2' =&gt; 'keyname2'),
      '2' =&gt; array('somekey3' =&gt; 'keyname3')
  )
  </code></pre>
  
  <p>Where key 1 and 2 are the default values when key 0 contains the default value with the character value.</p>