![]() |
Re: SQL Abfrage
Zitat:
Zitat:
20 30 Wenn ich nun 25 habe, ist der nicht in der DB aber davor und danach gibt es was. Zitat:
Zitat:
|
Re: SQL Abfrage
Aha, deine Werte sind "Mess"werte. Wieso sagst du das nicht gleich ? 8)
Zitat:
|
Re: SQL Abfrage
Vielleicht funktioniert ja so etwas in der Art bei Dir: (konnte es nicht richtig ausprobieren, habe nur MySQL und das ist mit UNION und Sortierung überfordert und TOP muss mit LIMIT gemacht werden)
Code:
x ist der gesuchte Messwert.
(SELECT TOP 1 * FROM Messwerte WHERE (Wert<x) ORDER BY Wert DESC) UNION
(SELECT * FROM Messwerte WHERE (Wert=x)) UNION (SELECT TOP 1 * FROM Messwerte WHERE (Wert>x) ORDER BY Wert ASC); Gruß, teebee |
Re: SQL Abfrage
Zitat:
|
Re: SQL Abfrage
Zitat:
Gruß, Tom |
Re: SQL Abfrage
Moin Motu :hi:
Ich muss sagen, ich habe irgendwie nicht ganz kapiert worum es dir geht. :gruebel: Ist es so?
Code:
Das wäre würdest du so hinbekommen:
[b]Vorgäger Wert Nachfolger[/b]
<null> 1 2 1 2 3 2 3 4 3 4 5 4 5 <null>
SQL-Code:
SELECT Ref.DeinFeld As Val
,Tab1.DeinFeld As Pred ,Tab2.DeinFeld As Succ FROM DeineTabelle Tab1 ,DeineTabelle Tab2 ,DeineTabelle Ref WHERE Tab1.DeinFeld = Ref.DeinFeld - 1 And Tab2.DeinFeld = Ref.DeinFeld + 1 |
Re: SQL Abfrage
Ich habs mit MySQL gemacht und da gibt es kein TOP, da muss man es mit ORDERBY und LIMIT 'emulieren', Du kannst Dir das ORDERBY also tatsächlich sparen. Ein Statement, das auf jeden Fall funktioniert (habe es jetzt direkt im MySQL-Client getestet und nicht in MySQL-Front, was offensichtlich mit geklammerten Statements nicht klarkommt) ist dieses hier:
Code:
Gruß, teebee
(SELECT * FROM Messwerte WHERE (wert<x) ORDERBY wert DESC LIMIT 1) UNION
(SELECT * FROM Messwerte WHERE (wert=x)) UNION (SELECT * FROM Messwerte WHERE (wert>x) ORDERBY wert LIMIT 1); |
Re: SQL Abfrage
Zitat:
gesucht wird zu einem Messwert x dessen direkter kleinster und größter Nachbar. Bsp: Messwerte = (4,5,7,8,9,10). Mit x = 7 soll z.B. Folgendes ausgegeben werden: 5,7,8 x=6: 5,7 Gruß, Tom |
Re: SQL Abfrage
Moin, moin,
Zwischenfragen: Sind die Messwerte in einer zeitlichen Abfolge? Oder suchst Du nur die Wertmäßige Abfolge. Oder hast einen Wert µ um den du herum nur jeweils einen Wert suchst um diesen neu zu interpolieren ? Grüße // Martin |
Re: SQL Abfrage
Zitat:
Zitat:
Inzwischen habe ich mein Ziel allein durch Anpassung des SQL-Statements erreicht. Mal sehen, was als nächstes kommt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz