Как запросить сумму доступности каждого человека на основе его навыка - PullRequest
0 голосов
/ 18 июня 2019

Я использую sqlite, я настроил три таблицы.

Table for list of skills this can be expand.
+----+----------+
| ID | Skills   |
+----+----------+
| 1  | Swimming |
| 2  | Running  |
| 3  | Boxing   |
| 4  | Dancing  |
| 5  | Singing  |
+----+----------+

Таблица доступности каждого человека. 0 означает, что человек недоступен.

+-------+-----+-----+-----+-----+-----+-----+-----+
| Names | SUN | MON | TUE | WED | THU | FRI | SAT |
+-------+-----+-----+-----+-----+-----+-----+-----+
| Mark  | 0   | 1   | 1   | 1   | 1   | 1   | 0   | (MON-FRI)
| Robin | 0   | 1   | 1   | 1   | 1   | 1   | 0   | (MON-FRI)
| James | 0   | 0   | 1   | 1   | 1   | 1   | 1   | (TUE-SAT)
+-------+-----+-----+-----+-----+-----+-----+-----+

Таблица для каждого человека, которым обладает навык. 1/0 - логическое значение.

+-------+----------+---------+--------+---------+---------+
| Names | Swimming | Running | Boxing | Dancing | Singing |
+-------+----------+---------+--------+---------+---------+
| Mark  | 1        | 1       | 1      | 1       | 1       |
| Robin | 1        | 1       | 1      | 1       | 1       | 
| James | 1        | 1       | 1      | 1       | 0       | 
+-------+----------+---------+--------+---------+---------+


Используя приведенные выше таблицы, как я мог достичь этого результата, чтобы суммировать базу доступности каждого человека по его навыку.

Expected Results:
+----------+-----+-----+-----+-----+-----+-----+-----+
| Skills   | SUN | MON | TUE | WED | THU | FRI | SAT |
+----------+-----+-----+-----+-----+-----+-----+-----+
| Swimming | 0   | 2   | 3   | 3   | 3   | 3   | 1   |
| Running  | 0   | 2   | 3   | 3   | 3   | 3   | 1   |
| Boxing   | 0   | 2   | 3   | 3   | 3   | 3   | 1   |
| Dancing  | 0   | 2   | 3   | 3   | 3   | 3   | 1   |
| Singing  | 0   | 2   | 3   | 3   | 3   | 3   | 0   |
+----------+-----+-----+-----+-----+-----+-----+-----+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...