---
title: "Jämföra mot föregående"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/80969-jämföra-mot-föregående"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Lasp"
published: "2003-07-01T07:58:06.000Z"
updated: "2003-07-01T08:47:08.000Z"
replies: 3
views: 237
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/80969-jämföra-mot-föregående"
---

# Jämföra mot föregående

## #1 — Lasp, 2003-07-01T07:58Z

Jag har ett antal bilar som har rullat ut och kommit in.
Jag vill ta fram dels vad dom har körts (enkelt) 
dels vad som skiljer föregående In mot nästa Ut.

Bil    Ut     In    Kört    Diff
A1    15    23      8      15
A1     25   34      9        2
A1     50   70    20      16
B4     24   26      2      24
B4     26   36    10        0

Det finns även datum med i samma tabell om det kan hjälp

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

## #2 — Engine^, 2003-07-01T08:06Z

Går det att göra sådana postspecifika operationer i SQL? Det känns som om det måste till programmering för detta, men eftersom jag samtidigt har pytteliten koll på SPs, så kanske det inte alls är omöjligt.

**red.** Läste just [**Brimba**s fråga](http://www.webforum.nu/showthread.php?s=&postid=669187#post669187) och ser att det kanske finns en liknande lösning för dig. Dock har jag inte en susning om hur den skulle se ut. :l

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

## #3 — Brimba, 2003-07-01T08:08Z

Humm... vem vet?

```
select t1.ut, t1.in, (t1.in-t1.ut) diff, isnull((select top 1 ut from kort t2 where t2.bil=t1.bil and < t1.id),0)-t1.in from kort t1 order by t1.bil
```

t1.id måste du implementera och det skall vara en nummerisk räknare 1-n

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

## #4 — Lasp, 2003-07-01T08:47Z

Tack Brimba. Det fungerade  
Vi la till lite fält men vill ändå visa att det fungerar att jämföra direkt i SQL satsen:
select t1.oid,t1.Contrid,t1.frm_time,t1.km_out, t1.km_in, (t1.km_in-t1.km_out) diff, isnull((select top 1 t2.km_out-t1.km_in from contr_objt t2 where t2.oid=t1.oid and t2.km_out\>=t1.km_in and t2.status=2 order by oid,km_out),0) as fel from contr_objt t1 where t1.status=2 and isnull((select top 1 t2.km_out-t1.km_in from contr_objt t2 where t2.oid=t1.oid and t2.km_out\>=t1.km_in and t2.status=2 order by oid,km_out),0)\>9 order by 1,3

Här plockar vi alltså ut alla bilar som "läcker" mer än 9 km.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/80969-jämföra-mot-föregående
