将两个不同表中的记录插入一个表中

时间:2017-05-05 14:55:30

标签: ms-access-2016

表1: MSISDN表

-----------------------------
ID       MSISDN        Number
-----------------------------

表2:客户经理表

-----------------------------------------------------------
ID    Account Manager Name    Account Manager Email   Count
-----------------------------------------------------------

表3:分配表

---------------------------------------------------------------------------------
ID    Account Manager ID    Account Manager Name    Account Manager Email   Count
---------------------------------------------------------------------------------

每当MSISDN表中有新条目时,我想自动从客户经理表INTO分配表中插入MSISDN_Number以及ID,客户经理姓名,客户经理电子邮件。 帐户管理器表上有一个条件,我只想选择帐户管理器表中计数列下最低计数的记录。

我的方法: 1.从帐户管理器表中获取最低计数的详细信息:

SELECT TOP 1 AccountManager_Table.[ID], AccountManager_Table.[Account Manager Name], AccountManager_Table.[Account Manager Email]
    FROM AccountManager_Table
    Where AccountManager_Table.[Count] =(SELECT MIN(Count) from AccountManager_Table);

2.没有工作INSERT进入查询:

INSERT INTO Assignment_Table ( [Account Manager ID], [Account Manager Name], [Account Manager Email],[MSISDN No] )
Values(
  (SELECT TOP 1 AccountManager_Table.[ID], AccountManager_Table.[Account Manager Name], AccountManager_Table.[Account Manager Email]
  FROM AccountManager_Table
  WHERE (((AccountManager_Table.Count)=(SELECT MIN(Count) from AccountManager_Table)))
  ),
  (SELECT MSISDN_Table.[MSISDN Number]
  FROM MSISDN_Table
  WHERE ID = (SELECT MAX(ID) FROM AccountManager_Table)
  )
);

我想在分配表中一起插入MSISDN和客户经理详细信息。请帮助:( 感谢。

1 个答案:

答案 0 :(得分:0)

您需要将两个SELECT语句组合成一个SELECT语句。

看看如何进行加入:

https://www.w3schools.com/sql/sql_join.asp

此外,您的第三个表没有MSISDN编号的列,因此您必须添加该列。输入表中的列需要与表中存在的列匹配。