Подсчет количества продаж из двух таблиц - PullRequest
1 голос
/ 09 июня 2011

Я использую СУММУ (СЛУЧАЙ КОГДА) для подсчета количества Да и Нет, все работает нормально.

У меня проблема с подсчетом номера мобильного телефона из двух таблиц. Кажется, он не считает правильно.

Существует поле MobileNO в таблице молочных продуктов и поле mobile в таблице продаж

SELECT 
       D.Username, 
       SUM(CASE WHEN D.type = 'Yes' THEN 1 ELSE 0 END) as Yes, 
       SUM(CASE WHEN D.type = 'No' THEN 1 ELSE 0 END) as No, 
       SUM(CASE WHEN D.type = '' THEN 1 ELSE 0 END) as Other, 
       (SELECT SUM(CASE WHEN D.MobileNo = S.mobile THEN 1 ELSE 0 END) from sales as S) as Sales, 
       COUNT(*) as TOTAL FROM dairy as D 
WHERE source = 'Company' AND UNIX_TIMESTAMP(CheckDate) >= 1293840000 AND UNIX_TIMESTAMP(CheckDate) <= 1322697600 
group by D.Username order by TOTAL DESC 

1 Ответ

1 голос
/ 09 июня 2011
SELECT 
       D.Username, 
       SUM(CASE WHEN D.type = 'Yes' THEN 1 ELSE 0 END) as Yes, 
       SUM(CASE WHEN D.type = 'No' THEN 1 ELSE 0 END) as No, 
       SUM(CASE WHEN D.type = '' THEN 1 ELSE 0 END) as Other, 
       SUM(CASE WHEN S.mobile IS NULL THEN 0 ELSE 1 END) as Sales, 
       COUNT(*) as TOTAL 
FROM dairy as D 
LEFT JOIN (SELECT DISTINCT mobile FROM sales) as S ON D.MobileNo = S.mobile
WHERE source = 'Company' AND UNIX_TIMESTAMP(CheckDate) >= 1293840000 AND UNIX_TIMESTAMP(CheckDate) <= 1322697600 
group by D.Username order by TOTAL DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...