如何在 Access 中比较两个字符串?
How do I compare two strings in Access?
我的工作是管理允许学生访问课程的虚拟学习环境 material。每个“课程”都有一个特定的 ID(下面的示例 ID)。每学年都会复制一份新的课程副本,其中包含新 ID 以及从模板中获取的相同内容和属性。
问题
正如您从下面的示例数据中看到的那样,当前课程尚未设置来宾访问 属性,这导致了问题。
到目前为止处理
我已经在 Postgres 中检索了所有 1201 和 1211 课程的完整列表,将它们导出到单独的 Excel 文件,将它们导入 Access 并创建了与课程 ID 的关系。
这是我用过的Access中的SQL
SELECT current.external_course_key, current.course_id, current.allow_guest_access
FROM [current]
INNER JOIN past ON past.external_course_key like current.external_course_key & "*";
我认为 REGEX 会对此有所帮助,但不幸的是,Access 没有这种能力。
要求
我需要检查过去和当前课程 ID 中的来宾访问 属性,并检索存在差异的课程列表。
COURSE ID
GUEST ACCESS
I3132-CHEN-10011-1201-1SE-016651 -> Last year's course
Y
I3132-CHEN-10011-1211-1SE-016651 -> Current course
N
希望我已经足够详细地解释了这一点。如果您需要更多,请不要犹豫。这个问题已经交给我了,是一个高优先级的问题。
感谢任何帮助。
谢谢
我不太清楚你想要什么,但我猜你想要以下内容:
SELECT Current.Course_ID, Current.allow_guest_access
FROM
Current
INNER JOIN
Past
ON (Mid(Current.Course_ID, 1, 17) = Mid(Past.Course_ID, 1, 17))
AND (Mid(Current.Course_ID, 22, 11) = Mid(Past.Course_ID, 22, 11))
AND (Current.allow_guest_access <> Past.allow_guest_access)
这将提供所有当前课程,这些课程的 属性 allow_guest_access 与其等效的过去课程相比具有不同的价值。通过“等效”,我理解(从您显示的两个样本值)它们应该具有 course_id 的所有数字相同,除了四个不同的中间数字。
如果这不是你想要的,请在评论中说明,我会相应地编辑这个答案。
我的工作是管理允许学生访问课程的虚拟学习环境 material。每个“课程”都有一个特定的 ID(下面的示例 ID)。每学年都会复制一份新的课程副本,其中包含新 ID 以及从模板中获取的相同内容和属性。
问题
正如您从下面的示例数据中看到的那样,当前课程尚未设置来宾访问 属性,这导致了问题。
到目前为止处理
我已经在 Postgres 中检索了所有 1201 和 1211 课程的完整列表,将它们导出到单独的 Excel 文件,将它们导入 Access 并创建了与课程 ID 的关系。
这是我用过的Access中的SQL
SELECT current.external_course_key, current.course_id, current.allow_guest_access
FROM [current]
INNER JOIN past ON past.external_course_key like current.external_course_key & "*";
我认为 REGEX 会对此有所帮助,但不幸的是,Access 没有这种能力。
要求
我需要检查过去和当前课程 ID 中的来宾访问 属性,并检索存在差异的课程列表。
COURSE ID | GUEST ACCESS |
---|---|
I3132-CHEN-10011-1201-1SE-016651 -> Last year's course | Y |
I3132-CHEN-10011-1211-1SE-016651 -> Current course | N |
希望我已经足够详细地解释了这一点。如果您需要更多,请不要犹豫。这个问题已经交给我了,是一个高优先级的问题。
感谢任何帮助。
谢谢
我不太清楚你想要什么,但我猜你想要以下内容:
SELECT Current.Course_ID, Current.allow_guest_access
FROM
Current
INNER JOIN
Past
ON (Mid(Current.Course_ID, 1, 17) = Mid(Past.Course_ID, 1, 17))
AND (Mid(Current.Course_ID, 22, 11) = Mid(Past.Course_ID, 22, 11))
AND (Current.allow_guest_access <> Past.allow_guest_access)
这将提供所有当前课程,这些课程的 属性 allow_guest_access 与其等效的过去课程相比具有不同的价值。通过“等效”,我理解(从您显示的两个样本值)它们应该具有 course_id 的所有数字相同,除了四个不同的中间数字。
如果这不是你想要的,请在评论中说明,我会相应地编辑这个答案。