私は MS SQL データベースを使用しており、「base_info」、「messages」、「config」の 3 つのテーブルがあります。
bases:
ID Name NameNum
====================================
1 Home 101
2 Castle 102
3 Car 103
messages:
ID Signal RecBy HQ
============================
111 120 Home 1
111 110 Castle 1
111 125 Car 1
222 120 Home 2
222 125 Castle 2
222 130 Car 2
333 100 Home 1
333 110 Car 2
config:
ID SignalRec SignalOut RecBy HQ
====================================
111 60 45 101 1
111 40 60 102 1
222 50 60 102 2
222 30 90 101 2
333 80 10 103 1
わかりましたので、構成テーブルから 'SignalRec' と 'SignalOut' を選択し、メッセージ テーブルで ID と日付 (上記には含まれていません) で照合するサブクエリがあります。 messages.RecBy = config.RecBy ですが、config.RecBy は文字列ですが、同等です Name はベース テーブルにあります。したがって、サブクエリまたは何らかのタイプの結合内でサブクエリを実行し、返された値を比較する必要がほとんどあります。
これが私がこれまでに持っているものです:
(SELECT TOP 1 config.SignalRec from config WHERE config.ID = messages.ID AND ||I need th other comparison here||...Order By...) As cfgSignalRec,
(SELECT TOP 1 config.SignalOut from config WHERE config.ID = messages.ID AND ||I need th other comparison here||...Order By...) As cfgSignalOut
これをできるだけ明確にしようとしましたが、さらに情報が必要な場合はお知らせください。