0

您好我正在尝试完成以下内容:

从城市表中选择名称,从国家表中选择名称。我想创建一个计算字段“GNPOverPop”,用于计算 GNP/城市人口并将该字段格式化为小数点后 6 位。之后,我想创建另一个计算字段来确定以下内容:

如果该城市的人口为:

  1. 大于或等于国家人口的 10%,然后将“10% 或更多”打印到计算的字段值中

  2. 大于或等于国家人口的 5%,然后将“5% 或更多”打印到计算的字段值中

  3. 大于或等于国家人口的 1%,然后将“1% 或更多”打印到计算的字段值中

  4. 不在上述任一类别中,然后将“小于 1%”打印到计算的字段值中

现在,我正在处理以下查询,但是我在试图找出 IF/Case 部分时遇到了障碍。

Select City.Name, Country.Name, 
       Format(Country.GNP / City.Population,6) AS GNPOverPOP
From City, Country
Limit 200;

值应如下所示:

| Name       | Name           | GNPOverPop  | PopGNPDesc  |
___________________________________________________________
| Charleston | United States  | 95.558200   | 10% or more |
| Carson     | United States  | 95.530312   | 10% or more |
| Odessa     | United States  | 95.312063   | 10% or more |
| Elgin      | United States  | 95.189469   | 10% or more |
| Kenosha    | United States  | 95.147965   | 10% or more |

感谢您的任何帮助,您可以提供

4

1 回答 1

1

这是有条件的部分

SELECT ...
    (CASE WHEN GNPOverPOP >= 10 THEN "10% or more"
          WHEN GNPOverPOP >= 5 THEN "5% or more"
          WHEN GNPOverPOP >= 1 THEN "1% or more"
          ELSE "Less than 1%"
    END) AS PopGNPDesc
FROM ...
于 2013-06-04T02:12:09.847 回答