布局:我有一个订阅者数据库,其中包含一个表中的订阅者信息,所有这些都具有唯一的 AccountID。
我有多个历史数据库,每个数据库都有一个历史表,所有这些都与订阅者数据库中的 AccountID 相关。
我需要:我需要为订阅者数据中的每个 AccountID 在任何历史数据库中输入的最新历史记录列表。每个 AccountID 1 条记录。
我可以通过多次点击数据库来实现这一点,但可能有数百万条记录,这在我的脑海中并不好。我想一击完成。
帮助。我。谢谢。
这是我已经尝试过的东西,但它没有为每个 AccountID 提供一条记录...
SELECT
MAIN.*,
ISNULL(SubData.Name, '') AS [Name],
ISNULL(SubData.AcctLineCode, '') AS AcctLineCode,
ISNULL(LTRIM(RTRIM(SubData.AcctNum)), '') AS AcctNum
FROM
(
SELECT AccountID, AlarmDate, AlarmCode FROM [History1113]..SignalHistory WHERE AccountID IN (SELECT DISTINCT AccountID FROM Subscriber..[Subscriber Data])
UNION
SELECT AccountID, AlarmDate, AlarmCode FROM [History1013]..SignalHistory WHERE AccountID IN (SELECT DISTINCT AccountID FROM Subscriber..[Subscriber Data])
UNION
SELECT AccountID, AlarmDate, AlarmCode FROM [History0913]..SignalHistory WHERE AccountID IN (SELECT DISTINCT AccountID FROM Subscriber..[Subscriber Data])
)
AS MAIN
LEFT JOIN Subscriber..[Subscriber Data] AS SubData ON Main.AccountID = SubData.AccountID
ORDER BY AccountID, AlarmDate DESC