【发布时间】:2023-03-18 11:33:01
【问题描述】:
我有两张表,先叫它“事务”
| transaction_id | transaction_type | amount |
|---|---|---|
| 101 | 1 | 50.00 |
| 102 | 2 | 25.00 |
| 103 | 3 | 35.00 |
| 104 | 2 | 15.00 |
| 105 | 1 | 60.00 |
第二个称它为“transaction_types”
| id | description |
|---|---|
| 1 | Deposit |
| 2 | Retirement |
| 3 | Inner_transaction |
“transaction_types”表中的“id”列,对应第一个表中的“transsaction_id”
假设初始余额为 100,000.00 美元。我应该写一个查询来获取历史账户余额。我应该展示的表格是这样的:
| transaction_id | initial_balance | deposit | withdrawal | final_balance |
|---|---|---|---|---|
| 101 | 100000 | 50.00 | 100050 | |
| 102 | 100050 | 25.00 | 100025 | |
| 103 | 100025 | 100025 | ||
| ... | ... | ... | ... | ... |
我使用 PROC SQL 在 SAS 中编写此代码:
TITLE "Balance Historico de la Wallet Empresarial";
PROC SQL;
SELECT transaction_id,
100000 AS initial_balance FORMAT=DOLLAR32.2,
"" AS deposit,
"" AS withdrawal,
"" AS final_balance
FROM _LIB.TRANSACTIONS;
QUIT;
但我不知道如何填充其他列。
【问题讨论】:
-
使用您实际使用的 ONE 数据库的标签编辑您的问题。它显然不是 MySQL。
-
交易类型真的只有3种吗?为什么你需要一个单独的表呢?
-
为什么要在 SQL 中而不是 DATA 步骤中执行此操作?