MTT (Manufacturing To Target) 用のソフトウェアを作成しようとしています。1 つのテーブルはターゲットに関する情報を保持し、別のテーブルはデータポイントを追跡するためのものです。
最も単純な形式では、テーブルは次のように配置されます。
Table target
field pk_target int pk autoincrement
field timestamp double
field target double
field UCL double //upper control limit
field LCL double //lower control limit
Table dataPoint
field pk_dataPoint int pk autoincrement
field timestamp as double
field value as double
ターゲット テーブルは必要に応じてのみ更新されます。これは、1 か月に 1 回から 1 日に 1 回、またはそれ以上の場合があります。dataPoint テーブルは 4 時間ごとに更新されます。両方のテーブルのデータを結合するクエリを作成して、dataPoint テーブルのすべてのエントリが、dataPoint テーブルの特定のタイムスタンプのターゲット テーブルの最新データと共に一覧表示されるようにしたいと考えています。
たとえば、ターゲット テーブルに次の 2 つのエントリが含まれているとします: pk_target=1,timestamp=1000,target=11,UCL=13,LCL=9 =8
また、dataPoints テーブルに 3 つのエントリが含まれていると仮定します。
pk_dataPoint=1,timestamp=1001,value=9.4
pk_dataPoint=2,timestamp=1125,value=9.7
pk_datapoint=3,timestamp=1420,value=10.1
したがって、私が構築しているクエリは、次のような結果セットを返す必要があります。
dataPoint.pk_DataPoint=1,dataPoint.timestamp=1001.dataPoint.value=9.4,target.target=11
dataPoint.pk_DataPoint=2,dataPoint.timestamp=1125.dataPoint.value=9.7,target.target=11
dataPoint.pk_DataPoint=3,dataPoint.timestamp=1420.dataPoint.value=10.1,target.target=10
上記のデータセットの例では、最初の 2 つのエントリの target.target が 11 であることに注意してください。これは、ターゲットのタイムスタンプがターゲット テーブルで最も遅く、dataPoint テーブルのタイムスタンプ エントリよりもまだ小さいためです。基本的に、「このデータポイントの場合、ターゲットはタイムスタンプによって決定される「X」である必要があります」と言っています。
これをどのように達成するかについて、誰かが私に意見を与えることができますか?
ありがとう!