2017-11-29 17 views
-1

月と製品IDを使用してデータセットを構築しようとしています。一意の製品IDはそれぞれTable1に格納され、問題の月はすべてTable2に格納されます。私は結果を得るために、これら2つのテーブルをマージする方法を変数の値ごとに別の変数に一連の値を追加

ID Date 
1234 Jan2010 
1234 Feb2010 
1234 Mar2010 
1234 Apr2010 
1254 Jan2010 
1254 Feb2010 
1254 Mar2010 
1254 Apr2010 

Table1 
1234 
1254 


Table2 
Jan2010 
Feb2010 
Mar2010 
Apr2010 

最終的なデータは次のようになりますか?

+1

select * from table1、table2; –

答えて

1
SELECT Table1.Id, Table2.Date 
FROM Table1 
CROSS JOIN Table2 
ORDER BY Table1.Id ASC, Table2.Date ASC 
+0

コードのみの回答は、スタックオーバーフローではお勧めしません。質問に答えるために何を示唆しているのか、いくつかの英語の説明を追加してください。特に、コードがどのように/なぜそのコードを実行するのかについて、OPはコード自体ではなく、うわさを学ぶことができます。 – Joe

0

事前にproc sqlソリューションが動作します。しかし、巨大なデータセットで作業している場合、その環境は必ずしも実現可能ではありません。

data Table1 ; 
input num; cards; 
1234 
1254 
; run; 

data Table2; 
input dates $ ; cards; 
Jan2010 
Feb2010 
Mar2010 
Apr2010 
; run; 

data all_comb; 
    set table1; 
     do i=1 to n; 
      set table2 point=i nobs=n; 
      output; 
     end; 
run; 

しかし、真剣に、Proc SQLをオプションとして使用してください。

+1

SASFILE文を使用してTABLE2をメモリにロードすることを検討してください。 –

+0

@data_null_興味深い。これについての基礎を見つけました。これについてもっと読むには良い実践的な情報源を参照できますか? – pinegulf

関連する問題