---
title: "Avtalsfakturering"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/158897-avtalsfakturering"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Claysson"
published: "2007-04-03T15:17:04.000Z"
updated: "2007-04-04T11:04:56.000Z"
replies: 1
views: 397
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/158897-avtalsfakturering"
---

# Avtalsfakturering

## #1 — Claysson, 2007-04-03T15:17Z

Jag kör en SELECT sats från "Orders"-tabellen där jag hämtar ut senaste ordern från respektive MemberId. Detta är inga problem.

Därefter vill jag endast lista samtliga ordrar som passerat 3 månader.

```
SELECT     MemberId, MAX(OrderDate) AS LastOrderDate
FROM         Orders
WHERE     (DATEADD(m, 3, OrderDate) < GETDATE())
GROUP BY MemberId
```

Problemet är att den hämtar MAX(OrderDate) efter WHERE-villkoret. Jag önskar alltså inte listan med Ordrar som inte gått över 3 månadersintervallet. Hoppas någon kan hjälpa mig på rätt spår.

Permalänk: https://www.webforum.nu/p/158897

## #2 — Claysson, 2007-04-04T11:04Z

Löste problemet själv. 

```
SELECT     MemberId, OrderDate
FROM         Orders AS O
WHERE    DATEADD(m, 3, OrderDate) < GETDATE()
AND OrderDate IN
                          (SELECT     MAX(OrderDate)
                            FROM          Orders
                            WHERE      Orders.MemberId = O.MemberId)
```

Permalänk: https://www.webforum.nu/p/1956462

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/158897-avtalsfakturering
