sql - Sql 查询两列中的值
问题描述
我有一张学生桌。
Student_Name Ethnicity1 Ethnicity2
============ ========== ===========
A Asian NZ European
B Indian Asian
C NZ European
我想写一个 SQL 语句,我只想将它们分成两个种族——亚洲人/非亚洲人。我不想使用 where 子句。所以我有 700 名学生,我想查看第三列,如果学生的第一种族或第二种族是亚洲人,那么第三列应该是亚洲人。像这样的东西
Student_Name Ethnicity1 Ethnicity2 Ethnicity
=========== ========== ========== ========
A Asian NZ European Asian
B Indian Asian Asian
C NZ European Non-Asian
有人可以帮忙吗?
解决方案
根据您指定的逻辑:
select t.*,
(case when 'Asian' in (ethnicity1, ethnicity2) then 'Asian'
else 'Non-Asian'
end) as simplified_ethnicity
推荐阅读
- android - android.view.AbsSavedState$1 不能转换为 android.widget.ScrollView$SavedState
- c# - C# 强制 PropertyGrid 不扩展子类属性并将其显示在根级别
- node.js - Axios - NodeJS 总是返回 500 内部服务器错误
- javascript - 如何在数据表中显示多个过滤器下拉列表?
- html - 解析 HTML,多个类
- php - 如何使变量中的某些数据在 json 数组中不可见
- java - JPA问题希望JPA专家可以帮助我
- mysql - 邮递员无法从 M 到 N 集合接收 JSON
- html - 浏览器外的 Flexbox
- regex - 图案不匹配