Ms access QueryDistinct返回5个字段,但如果1个字段不是distinct的,但与某个数字匹配,则我希望在结果集中使用该数字
表1 表2Ms access QueryDistinct返回5个字段,但如果1个字段不是distinct的,但与某个数字匹配,则我希望在结果集中使用该数字,ms-access,distinct,Ms Access,Distinct,表1 表2 att_id name tel a1 Joe 123456 a2 Tom 456789 a3 mary 444444 a4 sue 333333 我希望每个att_id有一行,其中组id为12。但问题是。如果该与会者的团体记录为5红色,则我希望看到该记录 即 att_id a1不在列表中,因为它在组12中有一个项目,这是正确的 结果: group_id desc att_id 5 red a1 10
att_id name tel
a1 Joe 123456
a2 Tom 456789
a3 mary 444444
a4 sue 333333
我希望每个att_id有一行,其中组id为12。但问题是。如果该与会者的团体记录为5红色,则我希望看到该记录
即
att_id a1不在列表中,因为它在组12中有一个项目,这是正确的
结果:
group_id desc att_id
5 red a1
10 blue a1
12 orange a1
6 green a2
5 red a2
10 blue a3
6 green a3
5 red a4
10 blue a4
6 green a4
我的问题是这样的:
选择不同的姓名、电话号码
从表1内部连接表1上的表2.Att_ID=表2.Att_ID
其中table1.Att_ID不在表2中,请从table2.Group_ID=12的表2中选择Att_ID
这可以将表1中具有表2中的组id 12的记录排除在外。我不知道如何查看返回的记录以确定其中是否有“红色”组,但仍然只有一条记录返回该att_id,只是有一个col表示表1中有红色组记录
很抱歉,不知道如何清楚地表达这一点。在红色列中使用DLookup似乎有效:
a2 tom 456789 red
a3 mary 444444
a4 sue 333333 red
SELECT
att_id,
[name],
tel,
DLookup("[desc]", "table2", "att_id=""" & att_id & """ AND [desc]=""red""") AS red
FROM table1
WHERE att_id NOT IN (SELECT att_id FROM table2 WHERE group_id=12)