Подсчет значений из двух таблиц и возвращение результата в одном значении - PullRequest
0 голосов
/ 24 апреля 2018

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

У меня было две таблицы с именами order и affiliate, как показано ниже:

order: order_ID(первичный ключ), order_name, Order_status, affiliate_ID (внешний ключ)

affiliate: affiliate_ID (первичный ключ), affiliate_name

Теперь я хочу подсчитать заказы на основе имени партнерасравнивая affiliate_ID таблицы заказов и таблицы партнеров.

Я пробовал это так:

Запрос

SELECT COUNT(*) 
FROM order o  
AND (SELECT COUNT (affiliate_name) FROM affiliate a 
WHERE a.affiliate_id = O.affilate_id) AS total

Возвращает ошибку.

Ответы [ 2 ]

0 голосов
/ 24 апреля 2018

Мне кажется, это то, что вам нужно

SELECT a.affiliate_ID, a.affiliate_name, COUNT(o.order_ID) as total
FROM order o  
LEFT JOIN affiliate a ON o.affiliate_ID = a.affiliate_ID
GROUP BY o.affiliate_ID;

, чтобы добавить предложение WHERE, см. Пример

SELECT a.affiliate_ID, a.affiliate_name, COUNT(o.order_ID) as total
FROM order o  
LEFT JOIN affiliate a ON o.affiliate_ID = a.affiliate_ID
WHERE o.affiliate_ID = 3
GROUP BY o.affiliate_ID;
0 голосов
/ 24 апреля 2018

Не уверен, что я правильно понимаю ваш вопрос, но это то, что вы ищете?

SELECT *, COUNT(*) as total
FROM order o  
JOIN affiliate a ON a.affiliate_id = o.affiliate_id
GROUP BY o.affiliate_id

В противном случае, предоставьте пример и пример желаемого результата, пожалуйста.

...