私の SQL サーバーには、次の多対多の関係 (下の図を参照) があります。
ほとんどの場合、テーブル tblWavelengths にはテーブル tblSensors に関連する 2 つの行があります (場合によっては 1 つだけ、極端な場合には 20 行になることもあります)。
これらの 3 つのテーブルからデータを取得するために、次の簡単なクエリを作成しました。
select W.DateTimeID,S.SensorName,S.SensorType,W.Channel,W.PeakNr,W.Wavelength
from tblWavelengths as W
Left Join tblSensorWavelengths as SW on W.tblWavelengthID = SW.WavelengthID
Left Join tblSensors as S on SW.SensorID = S.SensorID
order by W.DateTimeID
このクエリを実行した後、次の結果が得られました。
ここに私の問題があります。特定の時点 (DateTimeID) で tblWavelengths テーブルに 2 つの行 (2 つの異なる波長) があるセンサー (SensorName) のみをフィルタリングするクエリを作成したいと考えています。したがって、たとえば、77902/001 センサーなしで結果を取得したいと考えています。これは、特定の時点で tblSensors に関連する行 (1 つの波長) が 1 つしかないためです。