現在、以下の2つの選択コマンドがあります。私がしたいのは、コード内の変数ではなく、SQLクエリで結果を一緒に追加することです。同じクエリで2つのselectコマンドの結果を追加する方法
select sum(hours) from resource;
select sum(hours) from projects-time;
両方のSQLを同じSQLに格納して、両方の結果の合計を出力することはできますか?
現在、以下の2つの選択コマンドがあります。私がしたいのは、コード内の変数ではなく、SQLクエリで結果を一緒に追加することです。同じクエリで2つのselectコマンドの結果を追加する方法
select sum(hours) from resource;
select sum(hours) from projects-time;
両方のSQLを同じSQLに格納して、両方の結果の合計を出力することはできますか?
はい。それは、追記として:D
SELECT SUM(totalHours) totalHours
FROM
(
select sum(hours) totalHours from resource
UNION ALL
select sum(hours) totalHours from projects-time
) s
可能で、テーブル名projects-time
は、構文エラーを回避するために区切る必要があります。区切り記号は、使用しているRDBMSによって異なります。このような単純な
何かがselect
句でサブクエリを使用して行うことができます。このような単純なクエリについて
select ((select sum(hours) from resource) +
(select sum(hours) from projects-time)
) as totalHours
、そのような副選択は妥当です。
一部のデータベースでは、クエリをコンパイルするためにfrom dual
を追加する必要があります。
あなたがそれぞれ個別に出力したい場合:
select (select sum(hours) from resource) as ResourceHours,
(select sum(hours) from projects-time) as ProjectHours
あなたはと合計の両方が必要な場合、サブクエリは便利です:一度
select ResourceHours, ProjectHours, (ResourceHours+ProjecctHours) as TotalHours
from (select (select sum(hours) from resource) as ResourceHours,
(select sum(hours) from projects-time) as ProjectHours
) t
それはそれが加減算のために働くので、私はこのソリューションが好きです – csharpsql
UNION ALL
は、一度集計:
':)' –
@JW:わからないから慎重に*すべて* .. :) –
複数の集約liについて繰り返す(table_3 .... FROMのtable_1 UNION table_2 UNION ALL SELECT ASSURED_SUMからすべて SELECT額から SELECT金額)FROM TOTAL_AMOUNT AS KE SELECT和(金額)は、複数の操作を行いたい場合は
使用
select (sel1.s1+sel2+s2)
(select sum(hours) s1 from resource) sel1
join
(select sum(hours) s2 from projects-time)sel2
on sel1.s1=sel2.s2
いい仕事です。ありがとうございました。 – Rhys
あなたは歓迎です: 'D' –
最後には何がありますか?それはタイプミスですか? – Rhys