附加查询使数据彼此相乘

时间:2019-06-23 00:15:06

标签: sql ms-access

所以我有点想起了我上一篇有关如何更新的帖子的答案-填充数据库:“ How to update-populate empty fields in A table with values from a B with a random sequence

现在我面临的问题是追加查询使数据彼此相乘,而没有将它们组合在一起,从而得到我想要的结果

更具体地说,我们有:

TABLEA
ID      | POLICE RANK | FULL NAME   |
____________________________________
288066  |  Const.     | Chris Meli  |
273111  |  Serg.      | John  Do    |
231444  |  Const.     | Bill  Park  |
298432  |  Const.     | Joe   Park  |
_____________________________________

包含警务人员的信息,并连接到 TableC 中的 ID 字段,因此,即使从TableA上的连接,您也可以检查每名警官的职责分配给前几天。

TABLEB

DUTY    | Number of Police needed   |
        | for each service          |
____________________________________
Patrol  |             1             |
Guards  |             1             |
Courts  |             2             |
____________________________________

为简单起见,我将数字1和2放在数字中。通常, TableA 将容纳超过250人,并且在 TableB 上将有许多 Duty ,并且需要的警察数量将取决于日期和许多其他因素。

TABLEC
ID      | DUTY        | DATE        |
____________________________________
        |             |             |
        |             |             |
        |             |             |
        |             |             |
_____________________________________

TableC将由TableA(ID),TableB(Duty)填充,并且输入日期i将通过以下附加查询进行调度

INSERT INTO TABLEC ( DUTY, DATE, ID )
SELECT TABLEB.DUTY, [INPUT DATE], TABLEA.ID
FROM TABLEA, TABLEB INNER JOIN n ON n.n <= TABLEB.[Number of Police needed for each service];

(n是一个数字表,n.n是一个具有10000个数字的列,因此请不要注意) 现在,附加查询向我返回了我需要的结果,但是发生的是,该类型乘上所需的职位与该人员的ID。 所以不要这样:

TABLEC
ID      | DUTY        | DATE        |
____________________________________
288066  |  Patrol     | 23/06/2019  |
273111  |  Guards     | 23/06/2019  |
231444  |  Courts     | 23/06/2019  |
298432  |  Courts     | 23/06/2019  |
_____________________________________

我有这个

TABLEC
ID      | DUTY        | DATE        |
____________________________________
288066  |  Patrol     | 23/06/2019  |
288066  |  Guards     | 23/06/2019  |
288066  |  Courts     | 23/06/2019  |
288066  |  Courts     | 23/06/2019  |
273111  |  Patrol     | 23/06/2019  |
273111  |  Guards     | 23/06/2019  |
273111  |  Courts     | 23/06/2019  |
273111  |  Courts     | 23/06/2019  |
231444  |  Patrol     | 23/06/2019  |
231444  |  Guards     | 23/06/2019  |
231444  |  Courts     | 23/06/2019  |
231444  |  Courts     | 23/06/2019  |
298432  |  Patrol     | 23/06/2019  |
298432  |  Guards     | 23/06/2019  |
298432  |  Courts     | 23/06/2019  |
298432  |  Courts     | 23/06/2019  |
_____________________________________

有没有一种方法可以自动连接TableA.ID和TableB.DUTY?

0 个答案:

没有答案