У меня есть таблица базы данных, которая содержит информацию о рассказах.
Я хотел бы иметь возможность суммировать все количество слов историй в серии / во всех сериях, чтобы получить «истинное» количество слов
Соответствующими столбцами макета таблицы являются StoryId, Title, Words, Prequel и Sequel.
например,
12345, 'The Hobbit', 95356, NULL, 54321
54321, 'The Fellowship of the Ring', 187790, 12345, 32145
32145, 'The Two Towers', 156198, 54321, 54123
54123, 'The Return of the King', 137115, 32145, NULL
13579, 'Some other book', 1234, NULL, NULL
Серия может содержать любое количество книг и всегда заканчивается NULL в столбце сиквела.
Я пытаюсь выбрать один из следующих вариантов:два результата.
- (специальный запрос выполняется для определенной истории)
StoryId, Title, Words Prequel Sequel Total
12345, 'The Hobbit', 95356, NULL, 54321, 474582
или (я подозреваю, что это проще, и я могу отфильтровать его позже)
(запрос выполняется по всей таблице)
StoryId, Title, Words Prequel Sequel Total
12345, 'The Hobbit', 95356, NULL, 54321, 474582
54321, 'The Fellowship of the Ring', 187790, 12345, 32145, 379226 (The sum of this and following stories)
32145, 'The Two Towers', 156198, 54321, 54123, 293313
54123, 'The Return of the King', 137115, 32145, NULL, 137115
13579, 'Some other book', 1234, NULL, NULL, 1234
Мне еще предстоит найти хороший способ сделать это с помощью чистого sql, пока я только что сделал вычисления в своей голове, но по мере роста базы данных она определенно не масштабируется.