Я пытаюсь разделить значение одного столбца на основе того, есть ли несколько строк, которые соответствуют критериям. Для этого примера у всех книг есть «Первичный» автор, который всегда получит полную сумму баллов. Книги могут также иметь одного или нескольких «вторичных» авторов, если у книги более одного вторичного автора, баллы делятся поровну между вторичными авторами.
Требуется вывод последнего столбца «NewPoints». Пример:
Книга 1 имеет значение баллов 1 и только один дополнительный автор, поэтому вторичный автор получает полное значение 1 балла.
Книга 2 имеет значение баллов 1 и имеет двух дополнительных авторов поэтому второстепенные авторы получают по 0,5 балла каждый.
Книга 3 имеет балл по 0,5 и имеет трех вторичных авторов, поэтому вторичные авторы получают по 0,16 балла каждый.
Select
b.BookID,
b.BookName,
bd.points,
a.AuthorName,
a.AuthorType,
From Book as b
LEFT JOIN bookdetails as bd
ON b.BookID = bd.BookID_FK
LEFT JOIN authors as a
ON bd.AuthorBookID = a.AuthorBookID
BookID | BookName |Points|AuthorName |Author Type | NewPoints
1 | Ocean's 11 | 1 | James Smith | Primary | 1
1 | Ocean's 11 | 1 | Linus Key | Secondary | 1
2 | Number Two | 1 | Jason Pitt | Primary | 1
2 | Number Two | 1 | Will Franks | Secondary | 0.5
2 | Number Two | 1 | Donald Pe | Secondary | 0.5
3 | Cactus Jack | 0.5 | Brad Saul | Primary | 0.5
3 | Cactus Jack | 0.5 | Will Franks | Secondary | 0.16
3 | Cactus Jack | 0.5 | Linus Key | Secondary | 0.16
3 | Cactus Jack | 0.5 | George Bray | Secondary | 0.16