我的Firebird数据库中有两个表。第一个表称为LEDGER,它显示我的交易详细信息,包括交易日期(yyyy / mm / dd)。第二个表称为PERIODS,由以下字段组成:
我想使用LEDGER表中的日期来从PERIODS表中查找相应的期间,并根据此表将两个表连接起来。简而言之,我想显示分类帐表格每一行的期间,以帮助我准备合并报告。
下面是PERIODS表的示例:
什么是最好的方法?
[如果我是开发人员,则可以将期间添加到分类帐表中,并在事务级别填充该期间,但不幸的是,现在为时已晚。
任何帮助将不胜感激。
嗨,
使用以下查询。请更改列名,我已经提供了列名作为示例。
select P.PER, L.* from LEDGER L
inner join PERIODS P
on (L.date_of_transaction = P.start_date);
谢谢
检查this answer,以确保您是一周中的第一天。然后只需添加一个新的计算字段。
ALTER TABLE ledger ADD COLUMN period integer(4);
然后只需更新新列。
UPDATE ledger SET period = month(start);