You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求编写验证国家与州关联的Redshift SQL查询

Redshift SQL实现位置分类逻辑

数据表结构

1. COUNTRY表

CountryCodeCountryName
USAUnited States of America
CANCanada
INDIndia
CHNChina

2. STATE表

StateNameCountryCode
CaliforniaUSA
TexasUSA
KeralaIND
PunjabIND

3. LOCATION表

NameStateNameCountryCode
Loc_01CaliforniaUSA
Loc_02PunjabIND
Loc_03Punjab01IND
Loc_04(空值)USA
Loc_05BiharCHN
Loc_06California(空值)

分类规则

  • 若LOCATION中的州名称在STATE表中存在,且对应的国家代码与STATE表映射一致,则保留原位置名称;
  • 若LOCATION中的州名称在STATE表中存在,但国家代码为空,则保留原位置名称;
  • 若LOCATION中的州名称在STATE表中存在,但映射的国家代码不一致,则标记为INVALID;
  • 若LOCATION中的州名称在STATE表中不存在,则保留原位置名称;
  • 若LOCATION中无州名称,则标记为UNDEFINED。

Redshift SQL查询语句

SELECT
    l.Name,
    CASE
        -- 无州名称的情况
        WHEN l.StateName IS NULL THEN 'UNDEFINED'
        -- 州存在但国家代码不匹配的情况
        WHEN s.CountryCode IS NOT NULL AND l.CountryCode IS NOT NULL AND s.CountryCode != l.CountryCode THEN 'INVALID'
        -- 其他所有情况保留原名称
        ELSE l.Name
    END AS "Derived Name"
FROM LOCATION l
LEFT JOIN STATE s 
    ON l.StateName = s.StateName;

期望输出

NameDerived Name
Loc_01Loc_01
Loc_02Loc_02
Loc_03INVALID
Loc_04UNDEFINED
Loc_05Loc_05
Loc_06Loc_06

内容的提问来源于stack exchange,提问作者Kalpit Joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 05:20:00