По сути, мне нужно восстановить результат 3 запросов, в одном запросе (для нумерации страниц на стороне сервера). Это немного сложно.
Вот диаграмма, содержащая обязательные поля.

Нужны два столбца, результаты которых мне нужны задачи, связанные с функцией (количество).
Этот первый запрос успешно восстанавливает все строки, кроме двух, которые мне нужны.
SELECT DISTINCT vue_cdc_for_opera.libelle as CDC,
vue_cdc_for_opera.id_cdc as \"id\",
COALESCE(vue_cdc_for_opera.signe_ue, vue_cdc_for_opera.signe_fr) as Signe,
vue_cdc_for_opera.classe_ue as \"Classe produit\",
vue_cdc_for_opera.code_cdc as \"Code CDC\",
dt_bdd_produit.libelle_dt as DT,
0 as \"Nombre OCO\",
0 as \"Nombre Operateur\"
FROM vue_cdc_for_opera
INNER JOIN cdc_postgresql ON vue_cdc_for_opera.code_cdc = cdc_postgresql.code_cdc
INNER JOIN dt_bdd_produit ON vue_cdc_for_opera.id_dt = dt_bdd_produit.id_dt
ORDER BY " . $order . " " . $sortOrder . "
OFFSET :offset
LIMIT :limit
Чтобы получить «Оператор Nombre», я запускаю следующий запрос:
SELECT
COUNT(o.id) as \"Nombre Opérateurs\"
FROM habilitation
INNER JOIN operateur o ON habilitation.id_operateur = o.id and o.actif = true
WHERE habilitation.id_cdc_postgresql = :idCdc
AND habilitation.actif = true
, чтобы получить «Nombre OCO», я запускаю следующий запрос:
SELECT id_oc, oc FROM vue_for_lien_oco_cdc WHERE oc != '' AND code_cdc = :codeCdc;
По сути, мне нужно восстановить все в одном запросе, чтобы возможность заказать "Nombre Operateur" и "Nombre OCO" в нумерации на стороне сервера, и это выше моих текущих навыков SQL. :params
относится к связанным параметрам позже в коде PHP.
Мне сказали, что это возможно со встроенной функцией SQL внутри запроса, но я не уверен когда начать. Это выполнимо, есть ли у вас какие-либо преимущества или вы можете помочь?