title: Select multiple rows if specific columns have value
body: <p>I have a table like this (simplified):</p>
  
  <p>Table name: products</p>
  
  <pre><code>productId, property, value
  ----------------------------
  1, color, red
  1, shape, square
  1, price, 1.00
  ...
  2, color, green
  2, shape, triangle
  2, price, 0.50
  ...
  10, color, red
  10, shape, circle
  10, price, 3.00
  ...
  </code></pre>
  
  <p>I simplified it, but I hope it makes sense. I have multiple rows for one particular dataset, product in this case. Each row describes a different attribute of the product.</p>
  
  <p>I now want to select all products with a paticular attribute, lets say all products where the <code>color</code> is <code>red</code>. But not only the row where color is red, rather every row for every product where the <code>color</code> is <code>red</code>.</p>
  
  <p>I'm sorry, this is described terribly, but I hope you know what I mean. Given the table structure above, if I want to select all red products, I'd like to end up with something like this:</p>
  
  <pre><code>productId, color, shape, price
  -------------------------------
  1, red, square, 1.00
  10, red, circle, 3.00
  </code></pre>
  
  <p>Does this make sense? Maybe someone can help.</p>
  
  <p>By the way: I can't change the given table structure. It comes from an external application.</p>