Операнд должен содержать 1 столбец (и). - PullRequest
1 голос
/ 10 марта 2020

мой запрос в порядке?

public function parse()
{
    $db4 = $this->load->database('db4', TRUE);
    $query = $db4->query(' INSERT INTO test (nik, nama, status, bulan, tahun, hk, hb, lembur, gp, obat, transport, tunjangan, bpjs) SELECT (`karyawan`.`no_nik`, `karyawan`.`nama`, `karyawan`.`kd_status`, `absensi`.`bulan`, `absensi`.`tahun`, `absensi`.`hk`, `absensi`.`hari_besar`, `absensi`.`lembur`, `karyawan`.`gapok`, `karyawan`.`obat`, `karyawan`.`transport`, `karyawan`.`tunjangan`, `karyawan`.`bpjs`) FROM karyawan LEFT JOIN absensi ON `karyawan`.`no_nik` = `absensi`.`nik` ');
}

уведомление об ошибке

1 Ответ

0 голосов
/ 10 марта 2020

Я думаю, что проблема с karyawan.no_nik = absensi.nik деталью, где поле no_nik или nik не существует, потому что речь идет о: операнде

, попробуйте выполнить этот запрос в phpmyadmin или некоторые mysql gui:

SELECT 
       karyawan.no_nik    AS nik,
       karyawan.nama,
       karyawan.kd_status AS status,
       absensi.bulan,
       absensi.tahun,
       absensi.hk,
       absensi.hari_besar AS hb,
       absensi.lembur,
       karyawan.gapok     AS gp,
       karyawan.obat,
       karyawan.transport,
       karyawan.tunjangan,
       karyawan.bpjs
FROM karyawan
         LEFT JOIN absensi ON (karyawan.no_nik = absensi.nik)

Если запрос будет успешным, тогда определение области охвата SELECT в квадратных скобках может решить проблему:

public function parse()
{
    $db4 = $this->load->database('db4', TRUE);
    $query = '
      INSERT INTO test 
      (nik, nama, status, bulan, tahun, hk, hb, lembur, gp, obat, transport, tunjangan, bpjs)
      (
        SELECT karyawan.no_nik    AS nik,
               karyawan.nama,
               karyawan.kd_status AS status,
               absensi.bulan,
               absensi.tahun,
               absensi.hk,
               absensi.hari_besar AS hb,
               absensi.lembur,
               karyawan.gapok     AS gp,
               karyawan.obat,
               karyawan.transport,
               karyawan.tunjangan,
               karyawan.bpjs
        FROM karyawan
                 LEFT JOIN absensi ON (karyawan.no_nik = absensi.nik)
      )
    ';
    $query = $db4->query($query);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...