title: Recommended method to SELECT multiple columns within a nested subquery in mySQL
body: <p>What methods are recommended for Selecting multiple columns within a nested subquery? It's been a while since I've coded any queries and I'm having some difficulty wrapping my head around this.  The specific challenge is on Line 2 of the code below. The <code>IN</code> operand doesn't quite work here <em>(see error message below)</em>, and I'm not sure if it's simply a matter of the syntax I'm using, and/or there is a much better way to go about this (i.e. using the <code>HAVING</code> operand or a <code>JOIN</code> statement)</p>
  
  <pre><code>SELECT * FROM Rules WHERE Rules.LNRule_id 
      IN(SELECT LNRule_id1,LNRule_id2,LNRule_id3,LNRule_id4 FROM Silhouette
      WHERE Silhouette.Silhouette_Skirt=(SELECT Silhouette_Skirt FROM Style
          WHERE Style.Style_Skirt='$Style_Skirt')
      )
  </code></pre>
  
  <p>The purpose of this query is to <code>SELECT</code> all the relevant rows in table <code>Rules</code> for a particular value in table <code>Style</code> (i.e. <code>$Style_Skirt</code>), which it does by matching it to one of several factors - in this case the garment's <code>Silhouette</code>.  What I am therefore trying to do in this portion of the query is <code>SELECT</code> all rows in table <code>Rules</code> who's ID (<code>LNRule_id</code>) matches values in any of the specified columns in table <code>Silhouette</code></p>
  
  <pre><code>(SELECT LNRule_id1,LNRule_id2,LNRule_id3,LNRule_id4 FROM Silhouette WHERE Silhouette.Silhouette_Skirt=(...)) 
  </code></pre>
  
  <p><strong>Edit</strong>
  There is a many-to-many relationship <em>(each Silhouette has several applicable Rules, and each Rule can apply to several Silhouettes)</em>. All the rules reside in the table 'Rules' <em>(one per row)</em>, and each rule has an id (<em>'LNRule_id'</em>). The table 'Silhouette' has columns which tell it which rows need to be called from 'Rules' by 'LNRule_id' <em>(LNRule_id1,2,3,4 indicate which Rules should be called, and store the values of the id's for the relevant rows in table 'Rules')</em></p>
  
  <hr>
  
  <p><em>The error message currently being generated by the <code>IN</code> Operand is:</em></p>
  
  <blockquote>
    <p>SQLSTATE[21000]: Cardinality violation: 1241 Operand should contain 1
    column(s)</p>
  </blockquote>