сделать результаты уникальными, используя группу по условию - PullRequest
0 голосов
/ 15 октября 2018

Здесь я хочу объединить две таблицы и создать вывод, например,

Akbar Travels building      2018-10
Thrikandiyur Quarters       2018-10


Akbar Travels building     2018-11
Thrikandiyur Quarters      2018-11

Здесь у меня есть имя двух таблиц table A,table B, table A структура выглядит следующим образом

 category_id           category_name    
    5               Akbar Travels building          
    6               Thrikandiyur Quarters

table B структура выглядит следующим образом

id   paying_date   paying_month     parent_category     
1    2018-10-01      2018-10            5   
2    2018-10-01      2018-10            5   
3    2018-10-01      2018-11            5   
4    2018-11-01      2018-11            5   
5    2018-10-01      2018-10            6
6    2018-10-10      2018-12            5

Здесь для получения результата я написал свой код кода следующим образом

public function get_date_wise_pdf_report($from, $to)
{
       $query=$this->db->query("SELECT distinct A.category_name,B.paying_month from tableA A left join tableB B  on A.category_id = B.parent_category and B.paying_date BETWEEN '{$from}' AND '{$to}' order by B.paying_month");
       return $query->result();
 }

, но когда я использую это, получаю вот так

Akbar Travels building     2018-10
Thrikandiyur Quarters      2018-10
Akbar Travels building     2018-10
Thrikandiyur Quarters      2018-10

Я не могу дать групповое утверждение здесь, и если я дал только две строки, будет результат, пожалуйста, помогите мне решить

1 Ответ

0 голосов
/ 15 октября 2018

Попробуйте использовать подзапрос

демо

 select distinct catname,paymon
from
(SELECT A.catname,DATE_FORMAT(B.paydate, "%Y-%m") as paymon from  A 
left join  B  on A.catid = B.parentcatid and B.paydate BETWEEN '2018-10-01' AND '2018-12-31'
)X order by paymon
...