Неясно, как вам нужно получить доступ к этим значениям. Но простым решением является привязка входов к данным с помощью ngModel вместо инициализации значения из данных:
<ng-container matColumnDef="npm">
<mat-header-cell *matHeaderCellDef fxFlex = "15" style="margin-left: 1%;padding-left: 1%;">NPM</mat-header-cell>
<mat-cell *matCellDef="let row" fxFlex = "15">
<span style ="white-space: nowrap">
<input decimal = "true" [(ngModel)]='this.selectedAccount.occupancy.npm' style ="display:inline-block; width:55%" #npmValueEntered required>
</span>
</mat-cell>
</ng-container>
После этого функция submit
может получить доступ к значению через this.selectedAccount.occupancy.npm
.
Но использование форм, предложенных в комментариях, может дать вам лучший контроль, если вам это нужно.
Подзапросы не выбирают столбец id
, поэтому нет a.shid
для сравнения. А поскольку подзапросы сгруппированы по месяцам, вы не можете выбрать в них столбец id
.
Вам нужно присоединиться к третьей таблице в подзапросах.
select
(a.count_one / b.count_two) as final_count, a.orders,
a.Months, b.Sum
from
(
select count(*) as count_one, DATE_FORMAT(`date`, "%M %Y") AS `Months`, orders
from first_table
JOIN third_table ON first_table.shid = third_table.id
WHERE third_table.name = 'Any name'
GROUP BY Months)
) a
INNER JOIN
(
select count(*) as count_two, DATE_FORMAT(`date`, "%M %Y") AS `Months`, sum(a) AS Sum
from second_table
JOIN third_table ON second_table.shid = third_table.id
WHERE third_table.name = 'Any name'
GROUP BY Months)
) b
ON a.Months = b.Months