Orsaka av ditt problem förbinds till efter subqueryen:
…,
(välj känt från HWIndependentDevices som D,
Inre sammanfoga historia som X
på D.deviceid=X.link1
och c.recordid=x.link3
och H.t=x.gentime
)…,
Subqueryen åkallas för varje ror av den huvudsakliga queryen. Den fungerar, när den 0 eller 1 värderar för VARJE ror av den huvudsakliga queryen. Den missar med felet som du observered, när det går tillbaka mer än en värderar för NÅGRA ror av den huvudsakliga queryen.
Så därefter… den är känslig till datan i en av korrelerad bordlägger: antagligen historia. Du korrelerar till historienågot liknande denna: ”och H.t=x.gentime”, som som hjälpmedlet, om du får multipeln link3 med det samma max (gentime), problemet uppstår.
Problemet är lite ett komplex, så jag kan inte råda vidare utan specificerad kunskap av dina data. Emellertid jag misstänker att subqueryen ifrågasätter in antagligen behov att korrelera till historien bordlägger baserat på den är primärt nyckel- snarlikt än gentime.
Jag föreslår också dig försök den fäste queryen att förbättra isolaten datan orsaka utfärda. Notera att DoorCount > 1 identifierar problemdata.