Отображать данные, такие как список оглавления из базы данных (PHP SQL) - PullRequest
0 голосов
/ 08 января 2020

У меня возникла проблема, когда я хочу отобразить данные из базы данных ..

t_group:

t_type:

t_detail:

Я пытаюсь отобразить таблицу данных, как здесь:

Но мой код здесь:

SELECT t_detail.id_detail, t_detail.name_detail, t_detail.qty,
       t_type.name_type,
       t_group.name_group
FROM t_detail, t_type, t_group
WHERE t_detail.id_type = t_type.id_type
AND t_detail.id_group = t_group.id_group

Вот результат:

Я хочу отобразить это так:

Кто-нибудь, пожалуйста, ведите меня? Большое спасибо

1 Ответ

0 голосов
/ 08 января 2020

Вы должны использовать функции UNION И SUM, чтобы получить ожидаемый результат.

SELECT name_detail,id_detail as name , qty  FROM t_detail

UNION 

SELECT t_group.name_group,t_group.id_group as name, (SELECT sum(t_detail.qty)  FROM t_detail WHERE t_detail.id_group=t_group.id_group GROUP BY t_detail.id_group) AS qty FROM t_group

UNION 

SELECT name_type , id_type as name, (select sum(t_detail.qty)  from t_detail where t_detail.id_type = t_type.id_type
GROUP BY t_detail.id_type) as qty FROM t_type ORDER BY `name`  ASC

Лучше строить запрос шаг за шагом, чтобы вы могли получить ответ гораздо быстрее и проще.

Надеюсь, это поможет вам.

...