Добавление предложения WHERE третьей таблицы в MySQL, идентификатор которой присутствует в первых двух внутренних объединенных таблицах

Неясно, как вам нужно получить доступ к этим значениям. Но простым решением является привязка входов к данным с помощью 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.

Но использование форм, предложенных в комментариях, может дать вам лучший контроль, если вам это нужно.

0
задан Marium Malik 19 January 2019 в 01:54
поделиться

1 ответ

Подзапросы не выбирают столбец 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
0
ответ дан Barmar 19 January 2019 в 01:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: