title: Query to find match where constraints can be in any of the given columns
body: <p>I made a database for all the items in a game. An item could have 0 - 3 attributes. Those attributes are stored in <code>Atttribute1, Atttribute2, Atttribute3</code> columns respectively.  </p>
  
  <p>The order of the attributes is important meaning that I can't just simply swap <code>attribute1</code> with <code>attribute3</code>.
  <code>Attributes</code> are represented by ID and they are stored in <code>Attribute</code> table.   </p>
  
  <p>When searching, I want to give user the option to find match items which contains the three attributes they specified even if they are not in the correct order. </p>
  
  <p>Example : item1 has attribute 1 2 2, if user specifies 2 2 1 then its a match but 3 2 2 is not. </p>
  
  <p>for null cases: null 2 2 and 2 2 2 is not a match</p>
  
  <p>I thought about using<br>
  <code>Attribute1 in (input1, input2, input3) and Attribute 2 in (input1, input2, input3) ...</code><br>
  but then 1 2 2 and 1 1 2 would be matched. </p>
  
  <p>I also thought about union all three columns into a new temp table but that might destroy index and slow down search speed. </p>