Таким образом, у меня есть этот запрос, в котором мне нужно выбрать значение вычитания родительского с бизнес-кодами.
Например, допустим, в таблице контейнеров у нас есть родительское значение 0,39 и дочернее значение 0,7, чем значение из выбора будет -0,31.
Теперь это значение (-0,31) мне нужно умножить на значение столбца «Качество», которое находится в другой таблице. Чем мне нужны 3 верхних значения. Это означает упорядочение по дес c курса.
Но, конечно, его следует умножить, когда NetNames равен BetNames, а значение столбца Codes равно одному столбцу в контейнере таблицы. (Q_1, Q_2, Q_3). Я заблудился здесь, ребята.
Ниже приведена информация о моих таблицах.
/*Table Container*/
BetNamesID | Parent_B_Id | Year | Month | Q_1 | Q_2 | Q_3
1 null 2020 5 0.36 0.3 0.21
6 2 2020 8 0.39 0.64 1.0
7 1 2020 9 0.76 0.65 0.29
8 3 2020 13 0.62 0.34 0.81
9 2 2020 2 0.28 0.8 1.0
/*Table Configuration*/
NetNames | Codes | Quality
Test 1 Q_1 5
Test 2 Q_5 7
Test 3 Q_2 24
Test 4 Q_3 98
Test 5 Q_4 22
/*Table BetNames Info*/
ID | Parent_B_Id | Name
1 null Test 1
6 2 Test 2
7 1 Test 3
8 3 Test 4
9 2 Test 5
Что я делал до сих пор, так это запрос:
SELECT
child.[BetNamesID],
child.[Parent_B_Id],
child.[Q_1] - parent.[Q_1] AS Q_1,
child.[Q_2] - parent.[Q_2] AS Q_2,
child.[Q_3] - parent.[Q_3] AS Q_3,
// this is just a test case.. this is how it is supposed in my mind(child.[Q_3] - parent.[Q_3]) * qualityvalue AS Q_3, //this is how it is supposed to be
, n.name
FROM [dbo].[Container] child
join [dbo].[Container] parent on child.Parent_B_Id = parent.BetNamesID
join dbo.NetNames n on n.id = parent.Parent_B_Id //with this I get the names for BetNamesID
И это результат моего запроса до сих пор:
BetNamesID | Parent_B_Id | Q_1 | Q_2 | Q_3
3 2 0.21 -0.3 -0.1
5 4 -0.39 0.64 -0.9
8 5 0.99 0.65 0.59
Теперь мне нужно умножить значения столбцов Q_1, Q_2, Q_3 на значения, найденные в таблице конфигурации (столбец Качество), только когда BetNames равно NetNames, а значение строки Codes равно столбцу Q_1, Q_2 или Q_3.
Это ожидаемые значения.
BetNamesID | Parent_B_Id | Q_1 | Q_2 | Q_3
3 2 1.05(0.21 * 5) -7.2(-0.3* 24) -9.8 (-0.1* 98)
5 4 1.95(0.39*5) 15.36(0.64*24) -88.2 (-0.9*98)
Как появился новый стол? Как я могу присоединиться? Как работает условие where в этом случае?