を高く評価しているおそらく、これを行うための最善の方法は、PROC SQLです。ここでは、2つのpro sql文を使用して、必要な中間ファイルを出力する例を示します。そうでなければ、2番目のSQLクエリを実行するだけです。
まず私たちはあなたのデータセットを作成しますについては申し訳ありません
proc sql noprint;
create table project as
select sum(total) as Grand_Total
from(select a.worker_name,b.hours,c.job_cost,b.hours*c.job_cost as total
from worker as a
left join finished as b
on a.worker_id = b.worker_id
left join job as c
on b.job_id = c.job_id);quit;
:
proc sql noprint;
create table projects as
select a.worker_name,b.hours,c.job_cost,b.hours*c.job_cost as total
from worker as a
left join finished as b
on a.worker_id = b.worker_id
left join job as c
on b.job_id = c.job_id;quit;
、ここでは、最終的な答えは、すべて1つのステップである:
data job;
job_id = 1;
job_cost = 5;
output;
job_id = 2;
job_cost = 10;
output;
run;
data worker;
worker_id = 1;
worker_name = 'Jon';
output;
worker_id = 2;
worker_name = 'Peter';
output;
run;
data finished;
job_id = 1;
worker_id = 1;
hours = 3;
output;
job_id = 2;
worker_id = 2;
hours = 5;
output;
run;
ここ仲介SQLファイルがありますSASはこれがSASの質問から来ていると考えました。 SQL文はmysqlに対して有効です。proc sql noprint行を削除するだけです
出典
2016-12-19 18:56:16
DCR
期待される結果セットとともにいくつかのサンプルデータを投稿できますか? –
「John、3時間、5時間あたりの建設」、「Peter、5時間、車の修理、10時間」 – user5996816
Johnの料金は合計で15、Peterの合計は50です。私は両方の合計、つまり「65」です。どのようにクエリして合計するのか分かりません – user5996816