---
title: "stigande + korsade värden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/117946-stigande-korsade-värden"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "doggelito"
published: "2004-12-13T15:32:48.000Z"
updated: "2004-12-13T19:23:55.000Z"
replies: 2
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/117946-stigande-korsade-värden"
---

# stigande + korsade värden

## #1 — doggelito, 2004-12-13T15:32Z

Databas: 
ms-sql2000

Kolumner: 
ValueLow numeric(18,4)
ValueHigh numeric(18,4)

Ex. på värden i kolumnerna:
ValueLow   ValueHigh
0                 9,9999
10               14,9999
15                17,4999
...

Fundering:
kan man via en smart selectsats kolla om poster korsar i varann? alltså om t.ex denna post också ligger i tabellen:
17,4998       19,9999

jag behöver inte veta något om posterna utan det räcker med att få tillbaka true/false.

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

## #2 — LarsG, 2004-12-13T17:14Z

Förstår inte.

Kan du ge exempel på data som uppfyller

a) när något korsar i
b) när något inte korsar i

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

## #3 — doggelito, 2004-12-13T19:23Z

jag tror jag fått till det men för att förklara vad jag ville ha så:
enkelt sagt så ska posterna stegras, alltså:
0-9
10-19
20-29
osv.

men det finns inga spärrar på asp-sidan så man kan skapa t.ex. en ny post med värdena:
11-21
vilket betyder att denna post pajjar flödet. (11 ligger emellan 10-19 samt 21 ligger emellan 20-29)
i och med detta behövde jag en kontroll vilket resulterade i denna:

```
Alter Procedure upProduct_Freight_Status
	@FreightType int

AS
	Set nocount On
	
	Declare @numOK as integer
	Declare @numRow as integer

	Select @numOK = Count(*), @numRow = 
		(Select Count(*) 
		 From Freight Where ValueLow Not In 
			(Select Min(ValueLow) 
		 	From Freight 
		 	Where FreightType = @FreightType)
		 	And FreightType = @FreightType)

	From Freight a

	Inner Join Freight b On a.ValueLow = (b.ValueHigh+0.0001)
	
	Where a.ValueLow Not In 
	(Select Min(ValueLow) 
	 From Freight 
	 Where FreightType = @FreightType)
	 And a.FreightType = @FreightType

	if(@numOK = @numRow)
		Select ''
	else
		Select '(OBS! Klasserna är korsade.)'
```

än så länge verkar den funka (har inte så många poster än), jag hör väl av mig om den pajjar ihop! :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/117946-stigande-korsade-värden
