人,
我拼命地试图做一个看起来很简单的查询,但是我无法在凌晨4点30分掌握。也许有人可以提出一些关于我做错的建议。
任务:我有两个表,一个是系统列表,另一个是证书列表。我想确保列出所有系统和任何证书,其中Z85在一列中,Z86在另一列中。当我尝试左边连接访问时,我没有得到表1中的所有行,但我理解为什么。我只是不知道如何正确地发表AND语句。
我正在使用Microsoft访问来了解它。
有人可以帮忙吗?
这是我的(失败)尝试..
SELECT
u_AllSubs.SubSystem,
ul_ZenCerts.[Date Accepted by Client PMT Rep]
FROM (u_AllSubs
LEFT JOIN ul_ZenCerts ON ((u_AllSubs.SubSystem = ul_ZenCerts.Subsystem) AND ((ul_ZenCerts.[Certificate Template]) Like "*Z85*"))
LEFT JOIN (ul_ZenCerts AS ul_ZenCerts_1 ON ((u_AllSubs.SubSystem = ul_ZenCerts_1.Subsystem) AND ((ul_ZenCerts_1.[Certificate Template]) Like "*Z86*")));
答案 0 :(得分:0)
这可能有助于在单独的列中获取值。希望我的选择正确,但我认为你从这个
获得了想法select ul_ZenCerts, subsystem
into #tempz1
from ul_ZenCerts.Subsystem z1 where z1.[Certificate Template] Like '%Z85%'
select ul_ZenCerts, subsystem
into #tempz2
from ul_ZenCerts.Subsystem z2 where z2.[Certificate Template]) Like '%Z86%'
SELECT
u.SubSystem,
z1.ul_ZenCerts,
Z2.ul_ZenCerts
FROM u_AllSubs u
left join #tempz1 z1 on u.SubSystem = z1.Subsystem
left join #tempz2 z2 on u.SubSystem = z2.Subsystem