所以我一直在环顾四周,并没有找到太多东西。我提前道歉,因为这可能是错误的做法,但事实就是如此。
所以我必须跟踪同事完成的课程。这是通过提供 MS 访问数据库的 Excel 表完成的。有 3 个字段提供给我。
全名、课程名称和完成日期。
我知道我在这里没有主键,所以我试图创建一个查询,它只会附加从 Excel 表中提取的唯一记录。我可以基于单个字段执行此操作,但需要帮助使我的查询仅在全名和课程名称不相同时附加它,例如
Joe Somebody, Course#1, 14feb13
Joe Somebody, Course#2, 15feb13
Joe Somebody, Course#1, 15feb13
我需要一个查询,它将前 2 行附加到表中,但由于该人已经完成了课程#1,因此忽略了第三行。这就是我到目前为止所拥有的,基本上将我的姓名字段变成了主键。
INSERT INTO table [Full name], [Course], [Date]
SELECT excel_table.[Full name], excel_table.[Course], excel_table.[Date]
FROM excel_table
WHERE excel_table.[Full name] Not in (SELECT table.[Full Name] FROM table)
最后我也有一些 Is Not Null 的东西,但我认为这与问题无关。