如何在给定不同标准的情况下查询访问以选择整个记录

时间:2011-05-10 16:57:26

标签: sql ms-access-2007

我想选择促销代码唯一的每条记录的第一行。我正在尝试创建一个样本表,在这个表中将是每个不同促销代码的一条记录(第一条记录)。我问过我所有的同事,他们通常手工查看数据并从中选择一个。问题是促销代码的数量每次都在增长,代码会发生变化。所以我想写一个查询,它将选择找到每个不同代码的第一条记录。所以我有这样的事情:

SELECT DISTINCT Customer.promo1 FROM Customer AS promo;

SELECT * FROM Customer, promo
WHERE Customer.promo1 = promo.promo1;

但这显然给了原始表。我在客户中有一个名为AutoID的ID字段。

提前致谢。

2 个答案:

答案 0 :(得分:1)

我假设你想要第一个Customer.AutoId与每个Customer.Promo

相关联
SELECT
    c.*
FROM
    Customer  c 
    INNER JOIN 
    (

    SELECT 
        c.promo1,
        MIN(c.AutoID) AutoID
    FROM 
        Customer  c
    GROUP BY
        c.promo1) FirstCusomterWithPromo
    ON c.AutoID = FirstCusomterWithPromo.AutoID

答案 1 :(得分:0)

类似的东西:

SELECT * FROM Customer
GROUP BY Customer.promo1