Postgres查询返回一个空数组

时间:2019-02-21 10:41:35

标签: node.js postgresql knex.js

我正在查询Postgres DB,并将返回的值之一用作另一个查询的参数。

第一个查询:

SELECT DISTINCT region FROM countries;

返回:

Middle East & North Africa
Europe & Central Asia
North America
Sub-Saharan Africa 
South Asia
Latin America & Caribbean
East Asia & Pacific
SELECT * FROM countries
WHERE region = 'value from the first query';

在返回一个空数组时,返回带有第一个查询中大多数值的国家/地区列表,但“拉丁美洲和加勒比海”和“撒哈拉以南非洲”除外。

回复评论: 我实际上是通过Node JS在前端使用Knex和React来使用它的,但是我试图通过pgAdmin来简化问题。

我的节点代码:

// get Regions
const getRegions = (req, res, db) => {
  db.distinct('region as name', 'region as value',).select().table('countries')
  .then(function(countries) {
    res.send(countries)
  })
  .catch(err => res.status(400).json('Error getting regions'))
}

// get Countries list based on region 
const getCountriesByregion = (req, res, db) => {
  console.log(req.params.region)
  db.select('country_code as value', "country_name as name")
  .where('countries.region', '=', req.params.region)
  .from('countries')
  .then(function(countries) {
    console.log(countries)
    res.send(countries)
  })
  .catch(err => res.status(400).json('Error getting countries'))
}

0 个答案:

没有答案