SELECT SUM(金額) AS 残高 FROM 勘定, 移動, 会計取引
WHERE 勘定.勘定科目 = 移動.勘定科目 AND
会計取引.取引番号 = 移動.取引番号 AND
勘定.勘定科目 = ‘現金’ AND
取引日 <= ‘2015-04-30’
イ
SELECT 期首残高 + SUM(金額) AS 残高 FROM 勘定, 移動, 会計取引
WHERE 勘定.勘定科目 = 移動.勘定科目 AND
会計取引.取引番号 = 移動.取引番号 AND
勘定.勘定科目 = ‘現金’ AND
取引日 <= ‘2015-04-30’
GROUP BY 勘定.勘定科目, 期首残高
ウ
SELECT 残高 FROM 勘定, 移動, 会計取引
WHERE 勘定.勘定科目 = ‘現金’ AND
取引日 <= ‘2015-04-30’
エ
SELECT 残高 FROM 勘定, 移動, 会計取引
WHERE 勘定.勘定科目 = 移動.勘定科目 AND
勘定.勘定科目 = ‘現金’ AND
取引日 <= ‘2015-04-30’
答え イ
【解説】
勘定科目“現金”の2015年4月30日における残高は以下の条件の“金額”の和になる。
“勘定”表の勘定科目と“移動”表の勘定科目が一致
“会計取引”表の取引番号と“移動”表の取引番号が一致
“勘定”表の勘定科目が“現金”
取引日が2015年4月30日以前
また、“会計取引”表には今期分のデータしかないため、期首残高を考慮する必要があるので、これをSQL文にすると SELECT 期首残高 + SUM(金額) AS 残高 FROM 勘定, 移動, 会計取引
WHERE 勘定.勘定科目 = 移動.勘定科目 AND
会計取引.取引番号 = 移動.取引番号 AND
勘定.勘定科目 = ‘現金’ AND
取引日 <= ‘2015-04-30’
GROUP BY 勘定.勘定科目, 期首残高
(イ)になる。