[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите собрать в один запрос
McLotos
Всем привет. Вожусь с задачей, не могу собрать в один запрос.
Получаю количество уникальных idLoan за каждый месяц текущего года
SELECT COUNT(DISTINCT(`idLoan`)) as `count`,
MONTH(STR_TO_DATE(`date`, '%d.%m.%Y')) as `month`,
YEAR(STR_TO_DATE(`date`, '%d.%m.%Y')) as `year`
FROM `main`
WHERE `idLoan`>0
AND YEAR(STR_TO_DATE(`date`, '%d.%m.%Y')) = YEAR(CURDATE())
GROUP BY `month`, `year`
ORDER BY `year`, `month`

Теперь к каждой полученной строке нужно прикрутить результаты вот этих запросов:
SELECT COUNT(DISTINCT(`idLoan`)) as `a1`
FROM `main`
WHERE `idLoan`>0
AND YEAR(STR_TO_DATE(`date`, '%d.%m.%Y')) = YEAR(CURDATE())
AND `answer` IN (1,2);
SELECT COUNT(DISTINCT(`idLoan`)) as `a2`
FROM `main`
WHERE `idLoan`>0
AND YEAR(STR_TO_DATE(`date`, '%d.%m.%Y')) = YEAR(CURDATE())
AND `answer`=2;
SELECT COUNT(DISTINCT(`idLoan`)) as `accepted`
FROM `request`
WHERE `status`='18'
AND `archive`='1' ;

Пробовал через UNION, но сервер ругается что количество колонок не совпадает.
Хотел сделать через JOIN, но сервер говорит что нельзя делать join внутри одной таблицы (хотя странно, я видел такие примеры в сети)

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.