无VBA访问查询

我对无关表上的数据库查询有疑问。
这次需要VBA没有使用(需求来自我的经理),这使得它很难。无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

当 “国家” 和 “雇员” 的值(列3 & 4,作为先前查询的结果)位于所述间隔分别为 “LIVES_FROM/LIVES_TO” AND “NR_COUNTRIES_FROM/NR_COUNTRIES_TO” 之间,然后应该返回的是相应的SL_Value。我无法弄清楚,因为这两个表之间没有相应的字段,我这次不允许使用VBA。 为了让它更难,“LIVES_FROM/LIVES_TO”和“NR_COUNTRIES_FROM/NR_COUNTRIES_TO”包含相关表的ID。
任何想法如何将这列添加到查询中而不使用VBA ...? 我试图使用查询工具和SQL视图,但我无法获得正确的结果(使用VBA会轻松很多,而且我不是使用Access自己最方便的一个)。

让我知道我的问题不清楚!

回答:

如何:

SELECT (SELECT TOP 1 sl_value 

FROM t_stop_loss t

WHERE q.country BETWEEN nr_countries_from AND nr_countries_to

AND q.employees BETWEEN lives_from AND lives_to) AS stop_loss,

q.year,

q.contr_pool_id,

q.contr_ins_id,

q.country,

q.employees

FROM q_stop_loss q

以上是 无VBA访问查询 的全部内容, 来源链接: utcz.com/qa/261391.html

回到顶部