-1

GUI ソフトウェア ( ) を介して、SQL を使用してデータベース (以下に示す 2 つの列Inputted Valueとの表) にアクセスしています。ユーザーがキーを入力すると、スクリプトが入力に対応する値 30 を表示するというタスクを達成しました。テーブルにない値のユーザーキーがある場合があります。ユーザー キー インと同様に、 との間の補間値を出力する必要があります。助言がありますか?VALSiemens' WinCC24.526.53035

Inputted Value
24.5
28
25

VAL
30
35
44
4

1 に答える 1

1

これはそれを行うはずです(テスト済み)(MS Access用に改訂):

1)interpolation_left という名前の最初のクエリを作成します。

SELECT TOP 1 1 AS id, [val] AS val_left
FROM TABS
WHERE [Inputted Value] < 'key'
ORDER BY [Inputted value] DESC;

2)interpolation_right という 2 番目のクエリを作成します。

SELECT TOP 1 1 AS id, [val] AS val_right
FROM TABS
WHERE 'key' < [Inputted Value]
ORDER BY [Inputted value];

3) 前の 2 つのクエリをまとめて、最終的なクエリを作成します。

SELECT (val_left + val_right) / 2 as result
FROM   interpolation_left
INNER JOIN  interpolation_right
ON interpolation_left.id = interpolation_right.id

「キー」は、ユーザーが入力した値を持つパラメーターです。

于 2013-04-14T13:35:59.303 に答える