Sql-запрос значений в двух столбцах

#sql #case

#sql #case

Вопрос:

У меня есть таблица student.

 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
 

Кто-нибудь может помочь, пожалуйста?

Комментарии:

1. Вы можете попробовать это SELECT Student_Name,Ethnicity1,Ethnicity2, CASE WHEN Ethnicity1='Asian' OR Ethnicity2='Asian' then 'Asian' ELSE 'Non-Asian' as Asian_nonAsian FROM table;

2. Нам нужно просмотреть список всех этнических групп, а также указать, считать ли каждую из них азиатской или неазиатской.

Ответ №1:

Основываясь на вашей логике, которую вы указываете:

 select t.*,
       (case when 'Asian' in (ethnicity1, ethnicity2) then 'Asian'
             else 'Non-Asian'
        end) as simplified_ethnicity
 

Ответ №2:

Это довольно простое заявление о случае, как бы то ни было, если бы я понял, что запрос вашего вопроса может быть

 Select T.*, Case When T.Ethnicty1 In ('Asian', 'India') or T.Ethnicty2 In ('Asian', 'India') Then 'Asian' Else 'Non-Asian' End EthnicCity From Students T
 

Комментарии:

1. За исключением того, что было бы лучше сохранить все этнические группы и классификацию азиатских / неазиатских народов в отдельной таблице.

2. конечно, это зависит от того, насколько хороши структуры данных, я не мог понять, нужно ли иметь столбцы для той же цели, а скорее обсуждать структуру, решение было простым

3. c В псевдониме, используемом для вашего CASE оператора, есть лишний