MS ACCESS查询返回一列相同但另一列不相同的行

时间:2015-01-08 23:43:42

标签: sql ms-access access-vba

我有一个包含以下列的表。

DATE - CUSTOMER - COLOR - JOBNAME -ORDERNUM

我无法弄清楚如何编写查询以返回具有相同 JOBNAME但日期不同的行。

假设我有

1/9 AAA GREEN JOHN 1235
1/9 AAA GREEN JOHN 1236
1/9 AAA GREEN JOHN 1237
1/8 AAA GREEN JOHN 1238
1/9 BBB ORANGE MATT 1239
1/9 BBB ORANGE MATT 1240
1/12 CCC PINK BRETT 1241
1/5 DDD YELLOW JASON 1242
1/5 DDD YELLOW JASON 1243

我希望查询只返回

1/9 AAA GREEN JOHN 1235
1/9 AAA GREEN JOHN 1236
1/9 AAA GREEN JOHN 1237
1/8 AAA GREEN JOHN 1238

因为他们有相同的JOBNAME但日期不同。

2 个答案:

答案 0 :(得分:1)

我首先要获取具有不同日期的作业列表:

select jobname
from table 
group by jobname
having min(date) <> max(date);

如果您需要完整列表,请使用joininexists

select t.*
from table as t
where t.jobname in (select jobname
                    from table 
                    group by jobname
                    having min(date) <> max(date)
                   );

答案 1 :(得分:0)

我是否完全误解了某些内容,或者您​​不仅仅是在寻找:

SELECT *
FROM MyTable
WHERE JobName = "JOHN"

因为这基本上就是您的结果集,并且它符合您的要求。