подсчитать сумму столбца table2 в сравнении столбца table1 - PullRequest
0 голосов
/ 17 марта 2019

Я работаю над базой данных НПО, где у нас много таблиц и много столбцов, теперь я застрял на подсчете / сумме вклада суммы по каждому типу пола (m = мужчины, w = женщины, c = ребенок)

следующиемои таблицы и их столбцы
Table1 "basic_detail"
+---+------------------+------+
|id | name             | m_w_c 
----+------------------+------+
|1  |jhon              |m
|2  |sara              |w
|3  |mike              |c
|4  |simon             |m
|5  |frank             |c
|6  |suzi              |w
"and so on more than 1000 entries"

Table2 "contribution" (c_id= contribution table_id auto incremental) (bd_id= basic_detail table_id)
+------+------+--------+-----------+-----------+
|c_id  |bd_id | books  | uniform   | food      |
+------+------+--------+-----------+-----------+
|1     | 1    | 50     | 40        | 0         |
|2     | 3    | 0      |  0        | 5         |
|3     | 2    | 50     | 45        | 0         |
|4     | 5    | 2      | 4         | 3         |
|5     | 4    | 60     | 75        | 0         |
|6     | 6    | 35     | 50        | 10        |
and so on more than 1000 entries equals to basic_detail table

Я хочу рассчитать вклад мужчин, женщин и детей отдельно,

, если ребенок может вносить только в еду, если ребенок вносит вклад в книги и униформутогда этот вклад должен быть засчитан в c_contribution, , где m = мужчины, w = женщины могут вносить вклад только в книгах и униформе, если они вносят вклад в еду, следующая сумма должна учитываться в c_contribution, вас всех просят любезнопомогите мне в моем вопросе, если его не удовлетворяет вас, пожалуйста, не отмечайте "-", заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 23 марта 2019

Этот код помогает мне просмотреть сумму взносов мужчин, женщин, детей в каждой области, но я все еще не могу ДОБАВИТЬ вклад в еду мужчин или женщин в сумме ребенка.

require "connpdo.php";
        $connection = new PDO($dsn, $username, $password, $options);
$men = $women = $child = $c_contribution = 0;

$contributions = $connection->query("
    SELECT c.books, c.uniform, c.food, bd.m_w_c
    FROM contribution c
    LEFT JOIN basic_detail bd ON c.bd_id = bd.id
")->fetchAll();

foreach($contributions as $contribution) {
    if ( $contribution['m_w_c'] == 'w' ) {
        $women += $contribution['books'];
        $women += $contribution['uniform'];
    } elseif ( $contribution['m_w_c'] == 'm' ) {
        $men += $contribution['books'];
        $men += $contribution['uniform'];
    } elseif ( $contribution['m_w_c'] == 'c' ) {
        $child += $contribution['books'];
        $child += $contribution['uniform'];
        $child += $contribution['food']; 
}
}
print("Men Total: $men");
print("Women Total: $women");
print("Child Total: $child");
print("Combined Total: $c_contribution");
?> 

Пожалуйста ...
0 голосов
/ 17 марта 2019

Как то так?

$men = $women = child = c_contribution = 0;

$contributions = $pdo->query("
    SELECT c.books, c.uniform, c.food, bd.m_w_c
    FROM contribution c
    LEFT JOIN basic_detail bd ON c.bd_id = bd.id
")->fetchAll();

foreach($contributions as $contribution) {
    if ( $contribution['m_w_c'] == 'c' ) {
        $c_contribution += $contribution['books'];
        $c_contribution += $contribution['uniform'];
        $child += $contribution['food'];
    } else {
        $men += $contribution['books'];
        $women += $contribution['books'];
        $men += $contribution['uniform'];
        $women += $contribution['uniform'];
        $c_contribution += $contribution['food'];
    }
}

print("Men Total: $men");
print("Women Total: $women");
print("Child Total: $child");
print("Combined Total: $c_contribution");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...