这有点难以解释,但我会尽力而为。我有一个数据库,用于维护有关海运等的信息。我有以下几列可供使用。(还有其他的,但它们对我的研究没有任何目的)我有 Message_ID、纬度、经度、MMSI(这代表个别船舶信号,因此它们是船舶独有的)Ship_type、Vessel_name。
所以这里的问题
- 我只需要 Message_ID 的 1 和 3。
- 不幸的是,Message_ID 的 1 和 3 在它们各自的位置中将 Ship_type 和 Vessel_name 设为 Null。
- Message_ID 5 同时标记了 Ship_type 和 Vessel_name。
- 我的研究区域在给定的经纬度范围内
基本上我需要做的是将 Ship_type 和 Vessel_name 附加到 Message_ID 为 1 和 3 的行,方法是通过 Message_ID 5 共享的 MMSI 号码加入。
到目前为止我的查询..
WHERE (latitude > 55 and latitude < 85 and longitude > 50 and longitude < 141) And (Message_ID = 1 or Message_ID = 3);
其他查询
WHERE Message_ID = 5;
如何将导致第二个查询的所有 Ship_type 和 Vessel_name 加入第一个查询?
我觉得应该提到所有内容都在一个名为 dbo.DecodedCSVMEssages_Staging 的表中,该表有大约 1 亿个条目.. :S