title: How to combine variable assignment with data-retrieval operations in T-SQL
body: <p>Just to clarify, I'm running Sybase 12.5.3, but I am lead to believe that this holds true for SQL Server 2005 too. Basically, I'm trying to write a query that looks a little like this, I've simplified it as much as possible to highlight the problem:</p>
  
  <pre><code>DECLARE @a int,  @b int, @c int
  
  SELECT
       @a = huzzah.a
      ,@b = huzzah.b
      ,@c = huzzah.c
  FROM (
      SELECT
           1 a
          ,2 b
          ,3 c
  ) huzzah
  </code></pre>
  
  <p>This query gives me the following error: <em>"Error:141 A SELECT statement that assigns a value to a variable must not be combined with data-retrieval operations."</em></p>
  
  <p>The only work around that I've got for this so far, is to insert the derived-table data into a temporary table and then select it right back out again. Which works fine, but the fact that this doesn't work irks me. Is there a better way to do this?</p>