首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从两个表中查询多个条件?

如何从两个表中查询多个条件?
EN

Stack Overflow用户
提问于 2022-02-25 16:14:53
回答 2查看 120关注 0票数 0

我想根据这些条件从世界城市中挑选城市:

  • 这个城市的人口超过了菲律宾人口最多的城市。例如,X市是菲律宾人口最多的城市。我们要列出人口超过X城市的城市,
  • 在美国有一个城市(美国城市),其城市名称与选定的城市

相同

代码语言:javascript
复制
worldcity.colomns = ['city', 'lat','lng','country','iso2','iso3','capital','population','id']

uscity.columns = ['city', 'state_id', 'state_name', 'county_fips', 'county_name',
   'lat', 'lng', 'population', 'density', 'source', 'military',
   'incorporated', 'timezone', 'ranking', 'zips', 'id']

query = """
SELECT DISTINCT
    city
FROM
    worldcity as w
inner join
      uscity as u
on
      w.city = u.city
WHERE w.population >= (MAX)population IN
    (SELECT
        population
    FROM worldcity
    WHERE
        country = 'Filipina';
    )
"""
sql_run(query)

OperationalError:接近“填充”:语法错误

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-26 01:46:15

调整WHERE子句以将MAX放置在子查询中:

代码语言:javascript
复制
...
WHERE w.population > (
    SELECT MAX(population)
    FROM worldcity 
    WHERE country = 'Filipina'
)
票数 0
EN

Stack Overflow用户

发布于 2022-05-31 14:03:50

我稍微改变了你写的答案

也许这会有帮助,因为我试过了,而且成功了

如果你想把菲律宾人口最多的城市包括进来,你可以改变(> >=)

代码语言:javascript
复制
query = """
SELECT DISTINCT w.city
FROM 
      worldcity as w 
inner join
      uscity as u
on 
      w.city = u.city
WHERE w.population > (SELECT MAX(population)
                      FROM worldcity 
                      WHERE country = 'Philippines')
ORDER BY w.city
"""
sql_run(query)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71268677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档