Я новичок в SQL, я использую R большую часть времени. Однако это требование выполняется в SQL
У меня есть таблица в MS SQL, где каждая строка является «Тип деятельности», которая имеет значение «A», «B» или «C». У меня есть в общей сложности 40 столбцов, и мне нужно проверить каждую строку, если данные верны. Небольшой пример ниже содержит несколько столбцов.
Правило состоит в том, что если тип действия «A», то все столбцы, которые являются MonitorA_
, должны иметь значение, все остальное должно быть NULL. Если тип активности - «B», то все столбцы MonitorB_ должны иметь значение, остальные должны быть NULL
В приведенном ниже примере строки 1 и строка 2 являются точными. Но строки 3 и ряд 4 имеют проблемы. То есть в строке 3, тип действия - «B», но в столбце «MonitorC_ID» есть значение.
Я хочу, чтобы создать новый столбец со значением True или False, в зависимости от того, прошел ли он тест.Создать новый столбец, основанный на значениях другого столбца
| Activity Type | MonitorA_ID | MonitorA_Date | MonitorA_Region | MonitorB_ID | MonitorB_Date | MonitorB_Region | MonitorC_ID | MonitorC_Date | MonitorC_Region |
|---------------|-------------|---------------|-----------------|-------------|---------------|-----------------|-------------|---------------|-----------------|
| B | NULL | NULL | NULL | 1 | 21/10/1985 | Brisbane | NULL | NULL | NULL |
| A | 45 | 25/03/1986 | Gold Coast | NULL | NULL | NULL | NULL | NULL | NULL |
| B | NULL | NULL | NULL | 67 | 13/03/1959 | Dubai | 45 | NULL | NULL |
| C | NULL | 13/08/1964 | NULL | NULL | NULL | NULL | 82 | 13/08/1964 | Dubai |
спасибо. Сейчас я попробую вашу логику. – MaxPD
Вы используете оператор case с одним условием вместо IF, потому что ... – Dresden
Это сработало. Логика сработала. Я не создавал три разные переменные для A, B и C. Скорее всего один длинный вложенный оператор CASE. Большое спасибо J Greene! Будьте здоровы! – MaxPD