Mysql Left Join DataTable на стороне сервера Codeigniter

Вы можете мне помочь?

No tables used

SELECT * ORDER BY id asc LIMIT 0

Это мой код sql на модели

private function _get_datatables_query()
{
    
    $this->db->query("SELECT mainproduk.id,
    mainproduk.barcode as barcod,
    mainproduk.nama_produk,
    mainproduk.nama_alias,
    mainproduk.satuan,
    mainproduk.produk_jadi,
    mainproduk.kemasan,
    mainproduk.min_stok_kemasan,
    mainproduk.status,
    mainproduk.top_item,
    mainproduk.tipe_produk,
    mainproduk.nomor_kemtan,
    coalesce(sum(R.jumlah_pc),0) as omzet
    FROM mainproduk
    LEFT JOIN
    (
        SELECT id,barcode, jumlah_pc
        FROM rincian_order WHERE tipe='po' AND status!='canceled' AND tanggal_kirim BETWEEN '$kemarins' AND '$blnkemarin'
    ) AS R
        ON mainproduk.barcode = R.barcode WHERE status=1 GROUP BY mainproduk.id ORDER BY mainproduk.id ASC");


    $i = 0;

    foreach ($this->column_search as $item) // loop column 
    {
        if ($_POST['search']['value']) // if datatable send POST for search
        {
            
            if ($i===0) // first loop
            {
                $this->db->group_start(); // open bracket. query Where with OR clause better with bracket. because maybe can combine with other WHERE with AND.
                $this->db->like($item, $_POST['search']['value']);
            }
            else
            {
                $this->db->or_like($item, $_POST['search']['value']);
            }

            if (count($this->column_search) - 1 == $i) //last loop
                $this->db->group_end(); //close bracket
        }
        $i++;
    }
    
    if (isset($_POST['order'])) // here order processing
    {
        $this->db->order_by($this->column_order[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
    } 
    else if (isset($this->order))
    {
        $order = $this->order;
        $this->db->order_by(key($order), $order[key($order)]);
    }
}

Когда я использую вышеуказанный метод, проблема с таблицей не используется, потому что запись выключена.

затем я меняю его на активную запись, как показано ниже, и появляется ошибка, которая кажется, что "COALESCE" не поддерживает в таком формате, тогда, если "coalesce (sum (details_order.jumlah_pc), 0) as omzet", я удаляю, появится ошибка как показано ниже

private function _get_datatables_query()
{

    $this->db->select('mainproduk.barcode as barcod, mainproduk.nama_produk, mainproduk.nama_alias, mainproduk.satuan, mainproduk.produk_jadi, mainproduk.kemasan, mainproduk.min_stok_kemasan, mainproduk.status, mainproduk.top_item, mainproduk.tipe_produk, mainproduk.nomor_kemtan, coalesce(sum(rincian_order.jumlah_pc),0) as omzet')
        ->from('mainproduk')
        ->join('rincian_order', 'mainproduk.barcode = rincian_order.barcode', 'left')
        ->where('mainproduk.status =', 1)
        ->group_by('mainproduk.id')
        ->order_by('mainproduk.id', 'ASC');     

    $i = 0;

    foreach ($this->column_search as $item) // loop column 
    {
        if ($_POST['search']['value']) // if datatable send POST for search
        {
            
            if ($i===0) // first loop
            {
                $this->db->group_start(); // open bracket. query Where with OR clause better with bracket. because maybe can combine with other WHERE with AND.
                $this->db->like($item, $_POST['search']['value']);
            }
            else
            {
                $this->db->or_like($item, $_POST['search']['value']);
            }

            if (count($this->column_search) - 1 == $i) //last loop
                $this->db->group_end(); //close bracket
        }
        $i++;
    }
    
    if (isset($_POST['order'])) // here order processing
    {
        $this->db->order_by($this->column_order[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
    } 
    else if (isset($this->order))
    {
        $order = $this->order;
        $this->db->order_by(key($order), $order[key($order)]);
    }
}

Column 'id' in order clause is ambiguous

Пожалуйста помоги

Я не вижу здесь двусмысленности

Strawberry 26.05.2018 09:04

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

Mochamad Nurkhayal Kadafi 29.05.2018 04:50
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
2
512
1

Ответы 1

`mainproduk.id` 
`mainproduk.barcode`

аналогично другим полям попробуйте написать это как свой синтаксис.

если это не сработает, можете ли вы распечатать запрос?

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

Mochamad Nurkhayal Kadafi 29.05.2018 04:50

Другие вопросы по теме