SQL Server でこれが可能である理由を誰かに説明してもらえますか :
select column1 c,column2 d
from table1
order by c,column3
select句の後にorder by句が適用されるため、エイリアスを使用してcolumn1でソートできますが、取得していない列でソートするにはどうすればよいですか?
前もって感謝します。
SQL Server でこれが可能である理由を誰かに説明してもらえますか :
select column1 c,column2 d
from table1
order by c,column3
select句の後にorder by句が適用されるため、エイリアスを使用してcolumn1でソートできますが、取得していない列でソートするにはどうすればよいですか?
前もって感謝します。
オンライン ブックによると ( http://technet.microsoft.com/en-us/library/ms188385(v=sql.90).aspx )
ORDER BY 句には、選択リストに表示されない項目を含めることができます。ただし、SELECT DISTINCT が指定されている場合、またはステートメントに GROUP BY 節が含まれている場合、または SELECT ステートメントに UNION 演算子が含まれている場合は、ソート列が選択リストに含まれている必要があります。
さらに、SELECT ステートメントに UNION 演算子が含まれる場合、列名または列エイリアスは、最初の選択リストで指定されたものでなければなりません。
選択で定義したエイリアスでselect column1 c
ソートしてから、選択に含めていないがテーブルにまだ存在する列でソートするように指示できます。これにより、データを選択することなく、データの式で並べ替えることができます。
Select cost, tax From table ORDER BY (cost*tax)