Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Коррекция запроса или как верно сформировать вывод
 
 автор: TetRiska   (28.03.2012 в 13:07)   письмо автору
 
 

Всем привет. Имею такой запрос:
$sdate = '28.03.2012';
$edate = '28.03.2012';

$date1 = explode('.',$sdate);
$date2 = explode('.',$edate);
    
$date1 = array_reverse($date1);
$date2 = array_reverse($date2);
    
$sql = "
        SELECT a.`em_partners_stat_type`,
               b.`em_partners_name`
        FROM `em_partners_stat` a
        LEFT JOIN `em_partners` b ON (b.`em_partners_id` = a.`em_partners_id`)
        WHERE a.`em_partners_stat_date` BETWEEN STR_TO_DATE('".implode('-',$date1)." 00:00:00', '%Y-%m-%d %H:%i:%s')
        AND STR_TO_DATE('".implode('-',$date2)." 23:59:59', '%Y-%m-%d %H:%i:%s')
            "; 

$res = select_query($sql);

и такой результат:
Array
(
    [em_partners_stat_type] => Array
        (
            [0] => d
            [1] => c
            [2] => k
            [3] => c
            [4] => k
            [5] => k
            [6] => d
            [7] => m
            [8] => r
            [9] => k
            [10] => k
        )

    [em_partners_name] => Array
        (
            [0] => Экипировка сквозной
            [1] => ВАРЗ - Прицепы - трейлера - кузова
            [2] => ГРИНБУЛ (рисованный)
            [3] => Green Bull 904
            [4] => Waeco-ФЛГ шоп
            [5] => Экипировка сквозной
            [6] => Планета оборудования
            [7] => ГРИНБУЛ (рисованный)
            [8] => Спецтехника сквозной (TDC)
            [9] => Экипировка сквозной
            [10] => ГРИНБУЛ (рисованный)
        )

)

Не получается вывести в таком виде:
Экипировка сквозной | d | 1
ВАРЗ - Прицепы - трейлера - кузова | c | 1
ГРИНБУЛ (рисованный) | k | 2
Green Bull 904 | c | 1
Waeco-ФЛГ шоп | k | 1
Экипировка сквозной | k | 1
Планета оборудования | d | 1
ГРИНБУЛ (рисованный) | m | 1
Спецтехника сквозной (TDC) | r | 1
Экипировка сквозной | k | 1

Из распечатки видно, что ГРИНБУЛ 3 раза встречается, но 2 раза встречается с типом k, поэтому мы не выводим его дважды, а всего-то ставим значение 2, т.е. 2 раза встречается.

  Ответить  
 
 автор: Valick   (28.03.2012 в 13:18)   письмо автору
 
   для: TetRiska   (28.03.2012 в 13:07)
 

$sql = "
        SELECT a.`em_partners_stat_type`,
               b.`em_partners_name`, COUNT(a.`em_partners_stat_type`) с
        FROM `em_partners_stat` a
        LEFT JOIN `em_partners` b ON (b.`em_partners_id` = a.`em_partners_id`)
        WHERE a.`em_partners_stat_date` BETWEEN STR_TO_DATE('".implode('-',$date1)." 00:00:00', '%Y-%m-%d %H:%i:%s')
        AND STR_TO_DATE('".implode('-',$date2)." 23:59:59', '%Y-%m-%d %H:%i:%s')
        GROUP BY b.`em_partners_name`, a.`em_partners_stat_type`
            "; 

попробуйте такой запрос

  Ответить  
 
 автор: TetRiska   (28.03.2012 в 13:29)   письмо автору
 
   для: Valick   (28.03.2012 в 13:18)
 

большое спасибо, все подошло

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования