title: EAV modelled database schema - query advice
body: <p>I am building a database schema of customers &amp; rather than forever adding columns over time, I would prefer to use the EAV (entity attribute value) Magento-style of having this data stored in other tables and linked up.</p>
  
  <p>My SQL Fiddle will give a better idea of the structure
  <a href="http://sqlfiddle.com/#!2/82a70" rel="nofollow">http://sqlfiddle.com/#!2/82a70</a></p>
  
  <p>In this instance I would want to generate a query that displays all the customers with their relevant information that is stored in the other tables, if for example a customer hasn't got a value for a particular entity it just displays NULL.</p>
  
  <p>e.g My output that I would want to display is as follows:</p>
  
  <pre><code>customer_id | first_name |  surname  | profession | club
        1          bob        geldof       singer      NULL
        2         lionel       messi      footballer   barcelona fc
  </code></pre>
  
  <p>Can anyone suggest the most optimised MySQL query to produce this recordset on the basis there could be many more entities or attributes added later on?</p>