私は、異なるテーブルに基づいて複数のselect文を結合しています。問題は、出力が自動的にTOTAL_NUM列でソートされることです。これは、結合を行った順番にとどまるのではなく、これを避ける方法はありますか?SASのproc sql unionでのソートを防ぐ方法は?
ここに私のコードのサンプルがあります。
proc sql;
SELECT COUNT(loannumber) AS TOTAL_NUM, SUM(LoanAmt) as LOAN_AMOUNT FROM sub_620 WHERE Flag = 1
union
SELECT COUNT(loannumber) AS TOTAL_NUM, SUM(LoanAmt) as LOAN_AMOUNT FROM 620_639 WHERE Flag = 1
union
SELECT COUNT(loannumber) AS TOTAL_NUM, SUM(LoanAmt) as LOAN_AMOUNT FROM 640_660 WHERE Flag = 1
union
SELECT COUNT(loannumber) AS TOTAL_NUM, SUM(LoanAmt) as LOAN_AMOUNT FROM V700_719 WHERE Flag = 1
union
SELECT COUNT(loannumber) AS TOTAL_NUM, SUM(LoanAmt) as LOAN_AMOUNT FROM 720_739 WHERE Flag = 1
union
SELECT COUNT(loannumber) AS TOTAL_NUM, SUM(LoanAmt) as LOAN_AMOUNT FROM 740_759 WHERE Flag = 1;
run;
出力はこのようですが、順序のステートメントではなくTOTAL_NUMでソートされます。
申し訳ありませんが、この回答を説明しました。 http://stackoverflow.com/questions/21181664/sql-server-union-but-keep-order –
テーブル内で注文を保つという保証はありません。 SQL行の順序は、明示的に正確に指定しない限り保証されません。 – Reeza