SQL - выберите + MAx () - PullRequest
       33

SQL - выберите + MAx ()

0 голосов
/ 16 марта 2012

Я хочу объединить список продавцов с датой последней продажи этого продавца из файла продаж.Обратите внимание, что продавцы, возможно, еще не сделали никаких продаж!Предпочел бы стандартный ANSI SQL, если это возможно.

1 Ответ

2 голосов
/ 16 марта 2012

Во втором случае ниже Latest Sale будет NULL, если они еще не сделали продажу.

-- if you want all salesmen who have made a sale
SELECT
    SLSNO,
    SLSNAME,
    MAX(SALEDATE) AS [Latest Sale]
FROM
    SALESMEN AS s
JOIN
    SALESHEADER AS h
ON
    h.SLSNO = s.SLSNO
WHERE
    SALESMANNO = SLSNO
GROUP BY
    SLSNO,
    SLSNAME


-- if you want all salesmen even if they don't have a sale
SELECT
    SLSNO,
    SLSNAME,
    MAX(SALEDATE) AS [Latest Sale]
FROM
    SALESMEN AS s
LEFT OUTER JOIN
    SALESHEADER AS h
ON
    h.SLSNO = s.SLSNO
WHERE
    SALESMANNO = SLSNO
GROUP BY
    SLSNO,
    SLSNAME
...