我有两张桌子。表A包含每个更改状态的主要数据,表B包含详细数据。
表A
| ID |姓名|
| 1 |房子|
| 2 |树|
| 3 |车|
表B
| ID | FK | DateTime |颜色|类型|
| 1 | 1 | 2017-26-01T13:00:00 |红色|平房|
| 2 | 2 | 2017-26-01T13:05:00 |布朗|橡树|
| 3 | 1 | 2017-26-01T13:10:00 |绿色|平房|
| 4 | 3 | 2017-26-01T13:15:00 |黄色|智能|
| 5 | 1 | 2017-26-01T13:20:00 |白色|平房|
| 6 | 3 | 2017-26-01T13:25:00 |黑色|智能|
观看结果
| ID |名称| DateTime |颜色|类型|
| 1 |房子| 2017-26-01T13:20:00 |白色|平房|
| 2 |树| 2017-26-01T13:05:00 |布朗|橡树|
| 3 |车| 2017-26-01T13:25:00 |黑色|智能|
表A中实体的当前状态由表B中具有最年轻时间戳的记录描述。
现在,如果实体获得新状态(表B中的新记录)或创建新实体(表A和B中的新记录),我希望自己是无效的,即它看起来像。
观看的新结果
| ID |名称| DateTime |颜色|类型|
| 1 |房子| 2017-26-01T13:20:00 |白色|平房|
| 2 |树| 2017-26-01T13:05:00 |布朗|橡树|
| 3 |车| 2017-26-01T19:25:00 |银|智能|
| 4 |狗| 2017-26-01T20:25:00 |白/黑|贵宾犬|
使用SqlDependency
,无法收到包含GROUP BY
MAX
聚合,窗口函数或TOP
子句的语句的通知。所以我不知道如何获得实体的最后一个细节数据。
是否有可能为此要求创建声明,或者在更改此结果后是否有其他方式通知?