Я хочу запрос, который выбирает все повторяющиеся значения в столбце. Если эти значения удовлетворяют условиям, я бы хотел, чтобы запрос возвращал только эти значения.
Class Student_ID Location
Biology 511 4A
Biology 512 15B
Biology 513 15B
English 514 6A
Biology 521 6A
Spanish 522 6A
Spanish 523 15B
Chemistry 524 4A
English 531 15B
Biology 532 4A
Chemistry 534 4A
Выберите все повторяющиеся значения в столбце класса, и если среди этих значений есть расположение как в 4A, так и в 15B, то присвойте 1.
CASE WHEN count(class) > 1 AND (Location = '4A' AND Location = '15B') THEN 1
ELSE 0 END
что наиболее важно, это как выбрать повторяющиеся значения в качестве группы, а затем посмотреть на условие (местоположение должно быть 4A и 15B). Таким образом, запрос должен сначала сгруппировать дублированные значения из столбца класса, а затем посмотреть, соответствуют ли значения внутри группы условию местоположения. Так, например, сначала мы группируем столбец класса, мы получаем 5x биологию, затем она рассматривается как группа, а затем внутри этой группы, если существует одна строка с местоположением 4A и одна строка с местоположением 15B, и только тогда присваивается значение 1 для биологии. Почти все значения в столбце класса имеют дубликаты.
Желаемый выход
Class Location
Biology 1
Chemistry 0
English 0
Spanish 0