查询仅返回特定字段上不匹配的记录

时间:2013-03-26 15:11:50

标签: ms-access

不是一个Access人员,只是试图写下我认为是一个简单的查询来执行以下操作:

我的数据库中有两个表,从两个单独的SharePoint列表导入。所以我无法控制数据的格式。我将一个表调用MASTER表,一个表调用SUBSET表。 MASTER表包含可能出现在SUBSET表中的所有可能值的完整列表。

两个表都有一个包含URL的字段,但这些字段是不同的数据类型。在MASTER表中,URL字段的数据类型是Text。在SUBSET表中,URL字段的数据类型为Hyperlink。

此外,SUBSET URL字段中的某些值可能与MASTER URL字段中的匹配值不完全匹配。因此,如果MASTER网址为“http://abc.domain.com”,则SUBSET网址可能包含其他信息,例如“http://abc.domain.com/home.apsx”。

我需要的是一个查询,它返回MASTER表中SUBSET表中没有匹配的URL记录的所有记录。

希望这是有道理的。在此先感谢您的帮助!

编辑以包含我在查询中几乎肯定可怕的尝试的屏幕截图。 所需的输出是SUBSET表中没有匹配URL的所有RequestAccessEmail值的列表。 Query attempt

编辑以添加样本数据。

对于每个RequestAccessEmail值,仅当关联的Url值在SP Permissions Cleanup Tracking URL字段中没有匹配时,才将其包含在查询结果中。

内部网站所有者 ID 网址 RequestAccessEmail 附件 1478 http://teamsites.domain.com/sites/itfrance First.last1@domain.com 0 1673 http://teamsites.domain.com/sites/PricingSupport First.last2@domain.com 0 1652 http://teamsites.domain.com/sites/POProjectMgmt First.last3@domain.com 0 1655 http://teamsites.domain.com/sites/POSTeam First.last4@domain.com 0 1741 http://teamsites.domain.com/sites/rsa6x First.last5@domain.com 0 1218 http://teamsites.domain.com/sites/EMEAProjectSupport First.last6@domain.com 0 65 http://projectsites.domain.com/sites/folsom First.last7@domain.com 0 1595 http://teamsites.domain.com/sites/NBPCA First.last8@domain.com 0 1664 http://teamsites.domain.com/sites/prepaiddev First.last9@domain.com 0 1634 http://teamsites.domain.com/sites/patchmgmt First.last10@domain.com 0 1961年 http://os.domain.com/sites/manager First.last11@domain.com 0

ID 名称 网址 8 CFPB AuditsDOMAIN_e0117427.xml http://teamsites.domain.com/sites/itfrance/home.aspx 9 圣彼得法律部门DOMAIN_e0117427.xml http://teamsites.domain.com/sites/PricingSupport 10 零售合同(7)DOMAIN_e0117427.xml http://teamsites.domain.com/sites/POPProjectMgmt 11 中国HR SharesDOMAIN_lc23494.xml http://teamsites.domain.com/sites/ChinaHRShares 12 客户忠诚度DOMAIN_e1033221.xml http://teamsites.domain.com/sites/clientloyalty 13 eZoom!人力资源R1.1DOMAIN_e1007952.xml http://teamsites.domain.com/sites/ezoom-hr 14 IntercompanyDOMAIN_e0119924.xml http://teamsites.domain.com/sites/intercoproject 15 NDMS Mentoring ProgramDOMAIN_e1033265.xml http://teamsites.domain.com/sites/NDMSMentoring 16 人力资源DOMAIN_e0015957.xml http://teamsites.domain.com/sites/HR 17 国际人力资源部DOMAIN_e1019184.xml http://teamsites.domain.com/sites/GlobalHR 18 站点标题FSG Resource Central DOMAIN_e0102084.xml http://teamsites.domain.com/sites/ResourceCentral/SitePages/Home.aspx 19 TAGDOMAIN_e1022064.xml http://teamsites.domain.com/sites/TAG/SitePages/Home.aspx 20 WP Employee_Community EngagementDOMAIN_e1034583.xml http://teamsites.domain.com/sites/WPEmpEngmt 21 法律(6) - 根网站(审查除CID-DOJ-ACI 2011之外的所有子网站)DOMAIN_e0117427.xml http://legal.domain.com 22 咨询服务客户端PortalDOMAIN_e1035127.xml http://clientportal.domain.com/sites/consulting/default.aspx 23 YMCA Fitness ChallengeDOMAIN_e1035127.xml http://projectsites.domain.com/sites/Morgano/default.aspx 24 OSNETDOMAIN_e0000185.xml http://os.domain.com/Pages/default.aspx?sdupgwelredir=1 25 USVS_ Government SolutionsDOMAIN_e0113967.xml http://infoport.domain.com 26 全球服务DOMAIN_e0113967.xml http://teamsites.domain.com/sites/GlobalSvcs/default.aspx 27 检查Training _ Quality ServicesDOMAIN_e0113967.xml http://teamsites.domain.com/sites/QATrain 29 AutoSuites ArchiveDOMAIN_e0067145.xml http://sp-archives.domain.com/sites/autosuite/SitePages/Home.aspx 三十 VCI客户端站点DOMAIN_e0067145.xml http://clientportal.domain.com/sites/VCI/SitePages/Home.aspx 31 VCI内部站点DOMAIN_e0067145.xml http://teamsites.domain.com/sites/VCI-IUO/SitePages/Home.aspx

1 个答案:

答案 0 :(得分:2)

看看这样的东西是否适合你:

SELECT Distinct m.URL
FROM [Internal Site Owners] m, [SP Permissions Cleanup Tracking] s
WHERE s.URL Not Like "*" & m.URL & "*"

您需要在查询设计窗口的SQL视图中粘贴sql。

查询要求主网址与子网址不同的行,因此“http://abc.domain.com”将匹配“http://abc.domain.com/home.apsx”,但不会匹配“http://home.abc.domain.com”。超链接类型的格式通常为display text#http://example.com#,因此主服务器中的http://example.com将匹配。

编辑重新数据和评论

query and tables

SQL:

SELECT DISTINCT m.RequestedAccessEmail, m.URL
FROM [Internal Site Owners] AS m, [SP Permissions Cleanup Tracking] AS s
WHERE s.URL Not Like "*" & [m].[URL] & "*"

示例数据的新版本

SELECT [Internal Site Owners].RequestAccessEmail FROM [Internal Site Owners] 
WHERE ID NOT IN (
     SELECT [Internal Site Owners].ID
     FROM [Internal Site Owners], [SP Permissions Cleanup Tracking]
     WHERE [SP Permissions Cleanup Tracking].URL 
        Like "*" & [Internal Site Owners].[url] & "*")