У меня есть таблица IPAddressHistory, который содержит три колонки IPAddressID, DateFrom и DateTo, а другой таблицы IPAddressTimeValue с подробными значениями по конкретному времени , Таким образом, мне нужно выбрать значения SUM из IPAddressTimeValue связаны IPAddressID между DateFrom и DateTo из IPAddressHistory. Вы можете видеть, что я хочу от sqlfiddle, там я использовал, например, простые статические даты от IPAddressHistory и UNION ALL. Благодарю.Присоединение строки из одной таблицы со значением суммы из другой таблицы
Исходные таблицы:
CREATE TABLE IPAddressHistory(
[IPAddressHistoryID] int IDENTITY(1,1) NOT NULL,
[IPAddressID] int NOT NULL,
[DateFrom] datetime,
[DateTo] datetime,
CONSTRAINT [PK_IPAddressHistory] PRIMARY KEY CLUSTERED
(
[IPAddressHistoryID] ASC
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY];
CREATE TABLE IPAddressTimeValue(
[IPAddressTimeValueID] int IDENTITY(1,1) NOT NULL,
[IPAddressID] int NOT NULL,
[Time] datetime,
[CCNI] int,
[TRNI] int,
CONSTRAINT [PK_IPAddressTimeValue] PRIMARY KEY CLUSTERED
(
[IPAddressTimeValueID] ASC
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY];
Исходные данные:
Укажите желаемый результат. –
Мне нужно объединить два столбца CCNI и TRNI от выбора из IPAddressHistory, которые являются значениями SUM из IPAddressTimeValue, где время между DateFrom и DateTo из IPAddressHistory выбирает. Каждая строка должна содержать IPAddressID, SUM (CCNI), SUM (TRNI), DateFrom и DateTo. Результат вы можете увидеть после «Запустить SQL» на странице sqlfiddle, которую я предоставил. – Sanprof
Данные, предоставленные вами на скрипке, не соответствуют введенным значениям. Взгляните на даты от «20151220 до 20151221» для ipaddressuid у вас есть 70 и 35 в виде суммы, а не 40 и 20, как показано в примере с данными. Пожалуйста, дайте мне знать, если я ошибаюсь, или вы! –