我有一个关于无关表的数据库查询的问题。
这次要求不使用VBA(我的经理要求),这很难。
我的查询必须返回 5 列数据。前 4 列直接从前一个查询的输出中检索,因此很容易。
Query Q_STOP_LOSS:
Year Contr_Pool_ID Contr_Ins_ID COUNTRY Employees STOP_LOSS
2010 Crédit Agricole CIB QUATREM 2 6024
2010 Crédit Agricole CIB QUATREM 2 6024
2010 Amada CO LTD MALAKOFF MEDERIC 4 1320
2010 Amada CO LTD MALAKOFF MEDERIC 4 1320
2010 Amada CO LTD MALAKOFF MEDERIC 4 1320
最后一列名为“STOP_LOSS”是问题所在,因为那里填写的值应该基于 WHERE 子句从不相关的表中检索。它应该包含另一个不包含相等字段的表中的 SL 值。该表称为 T_STOP_LOSS 并列出了间隔。
Table: T_STOP_LOSS
ID LIVES_FROM LIVES_TO NR_COUNTRIES_FROM NR_COUNTRIES_TO SL_VALUE
1 0 999 2 2 39,3
12 0 999 3 3 34,6
23 0 999 4 4 29,6
34 0 999 5 9 25,7
45 0 999 10 100 22,17
46 1000 1499 2 2 31,1
2 1000 1499 3 3 27,4
13 1000 1499 4 4 23,3
24 1000 1499 5 9 20,4
35 1000 1499 10 100 17,5
当“Country”和“Employees”的值(第 3 列和第 4 列,是先前查询的结果)分别位于“LIVES_FROM/LIVES_TO”和“NR_COUNTRIES_FROM/NR_COUNTRIES_TO”之间的区间时,那么应该返回的内容需要是对应的 SL_Value。我想不通,因为这两个表之间没有对应的字段,这次我不允许使用 VBA。更难的是,“LIVES_FROM/LIVES_TO”和“NR_COUNTRIES_FROM/NR_COUNTRIES_TO”包含相关表的 ID。
知道如何在不使用 VBA 的情况下将此列添加到查询中...?我尝试使用查询工具和 SQL 视图,
当我的问题不清楚时,请告诉我!