title: How to run multiple SQL queries whose values change?
body: <p>Let's say I have a database of Amazon customers who made purchases in the last year.  It is pretty detailed and has columns like name, age, zip code, income level, favorite color, food, music, etc.  Now, let's say I run a query such that I return all Amazon customers who bought Book X.</p>
  
  <pre><code>SELECT NAME, AGE, ZIPCODE, INCOME, FAVECOLOR, FAVEFOOD, FAVEMUSIC
  FROM [Amazon].[dbo].[Customers]
  WHERE BOOK = "X"
  </code></pre>
  
  <p>This query will return a bunch of customers who bought Book X.  Now, I want to iterate through each of those results (iterate through each customer) and create a query based on each customer's individual age, zipcode, and income.  </p>
  
  <p>So if the first result is Bob, age 32, lives in zipcode 90210, makes $45,000 annually, create a query to find all others like Bob who share the same age, zipcode, and income.  If the second result is Mary, age 41, lives in zipcode 10004, makes $55,000 annually, create a query to find all others like Mary who share the same age, zipcode, and income.  </p>
  
  <p>How do I iterate through customers who bought Book X and run multiple queries whose values (age, zipcode, income) are changing?  In terms of viewing the results, it'd be great if I could see Bob, followed by all customers who are like Bob, then Mary, and all customers who are like Mary.  </p>
  
  <p>Is this even possible in  SQL?  I know how to do this in C# (for/next loops with if/then statements inside) but am new to SQL, and the data is in SQL.</p>
  
  <p>I use SQL Server 2008.</p>