LAYOUT: У меня есть база данных подписчика с информацией подписчика в таблице, все с уникальными учетными записями.SQL: Compound Subset Select
У меня есть несколько баз данных истории, каждая из которых содержит таблицу истории, относящуюся к идентификатору учетной записи в базе данных подписчика.
Мне НЕОБХОДИМО: Мне нужен список самой последней записи истории, введенной в любой из баз данных History для каждого идентификатора учетной записи в данных подписчика. 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
я получаю это правильно. у вас есть МНОЖЕСТВЕННЫЕ таблицы истории? – MichaelEvanchik
Сколько таблиц истории у вас есть и что эти таблицы меняют имена? Есть несколько способов сделать это. – Twelfth
, если у вас есть записи истории в отдельных * базах данных *, похоже, что вы собираетесь использовать несколько вариантов объединения –