@maratmd

Как создать запрос на вычитание из двух разных таблиц SQL?

Привет, есть две таблицы. Первая это wp_posts соединённая с post_meta
SELECT meta_key, meta_value
FROM wp_posts
JOIN wp_postmeta
 ON wp_postmeta.post_id = wp_posts.ID
where
wp_posts.post_status='publish' and wp_posts.post_type='zakazy-tsekha'
and wp_postmeta.meta_key='summa_zakaza'


Вторая таблица wp_jet_cct_raskhody
SELECT tsena_raskhoda
FROM wp_jet_cct_raskhody


Мне нужно сумму из первой таблицы, вычесть сумму второй таблицы. Много чего пересмотрел, что-то так и нечего не получилось. Единственное что вышло это следующее

SELECT sum(wp_postmeta.meta_value)  AS result
FROM wp_posts
JOIN wp_postmeta
 ON wp_postmeta.post_id = wp_posts.ID
where
wp_posts.post_status='publish' and wp_posts.post_type='zakazy-tsekha'
and wp_postmeta.meta_key='summa_zakaza'

UNION all

SELECT sum(wp_jet_cct_raskhody.tsena_raskhoda)
FROM wp_jet_cct_raskhody


На выходе я получаю две суммы таблиц,

[result] => 180
[result] => 60

Мне нужно получить => 120
  • Вопрос задан
  • 453 просмотра
Пригласить эксперта
Ответы на вопрос 1
rozhnev
@rozhnev Куратор тега SQL
Fullstack programmer, DBA, медленно, дорого
Решение в лоб:
SELECT (
    SELECT sum(wp_postmeta.meta_value)  AS result
    FROM wp_posts
    JOIN wp_postmeta ON wp_postmeta.post_id = wp_posts.ID
    WHERE wp_posts.post_status='publish' and wp_posts.post_type='zakazy-tsekha'
         AND wp_postmeta.meta_key='summa_zakaza'
) - (
    SELECT sum(wp_jet_cct_raskhody.tsena_raskhoda)
    FROM wp_jet_cct_raskhody
) AS result


SQL online editor
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы