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.
LarsGMedlem sedan dec. 200012 464 inlägg 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
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! :)