PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

hitung entri nol di kolom basis data dengan cara RESTfull

Kode Anda memiliki sedikit campuran sintaks async/rantai, ditambah lagi Anda tidak keluar dari nilai dengan benar. Kode yang benar akan terlihat seperti ini:

router.get('/:name/count', async (req, res) => {
 try {
      const {count} = await db.one('SELECT count(*) FROM $1:name WHERE $2:name IS NULL',
                                     ['mytable', req.params.name]);
      res.status(200).send(count);
  } catch(err) {
      console.log(err);
  }
});

Dan solusi Anda juga terlihat salah - ini menggunakan konteks basis data yang salah db di dalam tugas, padahal seharusnya t :

router.get('/:name', async (req, res) => {
    try {
           const result = await db.task(async t => {
              const data = await t.any('SELECT $1:name, $2:name FROM $3:name ORDER BY($2:name)', [req.params.name, 'time', 'mytable']);
              const {count:numOfNulls} = await t.one('SELECT count(*) FROM $1:name WHERE $2:name IS NULL', ['mytable', req.params.name]);
              return {data, numOfNulls};
           });
           res.status(200).send(result));
        });
   } catch(err) {
        console.log(err);
   }



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Status SQL Postgres:22P02

  2. Bagaimana cara mengubah array 2d dari PostgreSQL DB ke array Java 2d menggunakan JDBI?

  3. Postgresql menghapus beberapa baris dari beberapa tabel

  4. Impor CSV PostgreSQL dari baris perintah

  5. Menginstal driver PDO untuk PostgreSQL di Mac (menggunakan Zend untuk Eclipse)