Hallo Zusammen,
ich habe eine Tabelle, die wie folgt aufgebaut ist:
ID;BereichID;Nutzerzahl,Preis
In dieser stehen folgende Beispielzahlen:
1;1;50;10
2;1;20;5
3;1;100;15
4;2;13;6
5;3;51;11
6;2;123;142
7;3;48;10
...
Ich möchte nun eine Tabellenwert Funktion, die mir für jede BereichID genau den einen Wert anzeigt, der dem Wert der Variable am nächsten kommt. Wenn ich der Variable also 50 als Wert gebe, sollte folgendes Ergebnis herauskommen:
1;1;50;10
4;2;13;6
7;3;48;10
Ich habe es mit folgendem Statement probiert:
SELECT BereichID, MIN(DISTINCT Nutzerzahl) AS Nutzer, Portpreis
FROM dbo.WP_dpcon_portkosten
GROUP BY BereichID, Portpreis
HAVING (MIN(DISTINCT Nutzerzahl) <= @AnzTN)
Dabei kommen aber alle Datensätze heraus die kleiner als die Variable sind. Also mehrere pro BereichID.
Was muss ich tun, dass ich nur den Wert pro Bereich bekommen, der am nächsten an der Variable ist?
Und zweite Frage: Hat jemand eien Idee für eine Funktion die den Datensatz zeigt, der am NÄCHSTEN zur Variable liegt. Wenn es also Datenszätze mit 10 und 60 Nutzer gibt, soll er bei V=50 die 60 ausgeben, nicht die 10.
Danke sehr im Voraus für die Hilfe.
Viele Grüße
Patrick
ich habe eine Tabelle, die wie folgt aufgebaut ist:
ID;BereichID;Nutzerzahl,Preis
In dieser stehen folgende Beispielzahlen:
1;1;50;10
2;1;20;5
3;1;100;15
4;2;13;6
5;3;51;11
6;2;123;142
7;3;48;10
...
Ich möchte nun eine Tabellenwert Funktion, die mir für jede BereichID genau den einen Wert anzeigt, der dem Wert der Variable am nächsten kommt. Wenn ich der Variable also 50 als Wert gebe, sollte folgendes Ergebnis herauskommen:
1;1;50;10
4;2;13;6
7;3;48;10
Ich habe es mit folgendem Statement probiert:
SELECT BereichID, MIN(DISTINCT Nutzerzahl) AS Nutzer, Portpreis
FROM dbo.WP_dpcon_portkosten
GROUP BY BereichID, Portpreis
HAVING (MIN(DISTINCT Nutzerzahl) <= @AnzTN)
Dabei kommen aber alle Datensätze heraus die kleiner als die Variable sind. Also mehrere pro BereichID.
Was muss ich tun, dass ich nur den Wert pro Bereich bekommen, der am nächsten an der Variable ist?
Und zweite Frage: Hat jemand eien Idee für eine Funktion die den Datensatz zeigt, der am NÄCHSTEN zur Variable liegt. Wenn es also Datenszätze mit 10 und 60 Nutzer gibt, soll er bei V=50 die 60 ausgeben, nicht die 10.
Danke sehr im Voraus für die Hilfe.
Viele Grüße
Patrick