乘以记录我的成熟度

时间:2017-08-02 11:38:19

标签: sql ms-access

输入:

我在表格中有4列:

KONTO   CUSTOMER_NUMBER   COLLATERAL_TYPE   MATURITY

Konto是唯一值,成熟度是我需要乘以的值。

示例:

KONTO  CUSTOMER_NUMBER  COLLATERAL_TYPE  MATURITY
--------------------------------------------------
1           000234           H              4
2           000234           G              3
3           212567           H              5

我需要创建一个表格,每个KONTO乘以我的最大成熟度和每个客户的抵押品类型。也许更容易说,每个抵押品应该每年都有成熟记录

输出:

KONTO  CUSTOMER_NUMBER  COLLATERAL_TYPE  MATURITY
-------------------------------------------------
1           000234           H              1
1           000234           H              2
1           000234           H              3
1           000234           H              4
2           000234           G              1
2           000234           G              2
2           000234           G              3
3           212567           H              1
3           212567           H              2
3           212567           H              3
3           212567           H              4
3           212567           H              5

我的其他公司的同事设法做到了,但我不知道如何。

我在MS Access中使用MS Access / SQL。

谢谢你,抱歉我的英文不好

2 个答案:

答案 0 :(得分:1)

您可以使用笛卡尔(乘法)查询:

SELECT DISTINCT 
    KontoTable.Konto, 
    KontoTable.Customer_Number, 
    KontoTable.Collateral_Type, 
    10*Abs([Deca].[id] Mod 10)+Abs([Uno].[id] Mod 10) AS Maturity
FROM 
    MSysObjects AS Uno, 
    MSysObjects AS Deca, 
    KontoTable
WHERE 
    ((10*Abs([Deca].[id] Mod 10)+Abs([Uno].[id] Mod 10)) 
    Between 1 And KontoTable.Maturity);

答案 1 :(得分:0)

这在MS Access中非常痛苦,它没有CTE或窗口功能。一种方法是:

while len(welcomes)>0:
    print("You have entered the welcome cave ----- {} -----".format(welcomes.pop())

当然,你必须重复这种模式直到最大成熟度。