Я извлекаю таблицу из базы данных mysql в r, но мне нужно изменить значения class1 и class2 на null, если значения внутри них отсутствуют в школе столбцов. Я не могу этого сделать. Есть ли способ сделать это либо в R, либо в виде запроса в MySQL? Другими словами, преобразуйте эти значения в null, которые не отображаются в другой строке той же таблицы.
Вот мой стол:
И вот как я хочу получить его как:
Это должно работать:
SELECT
s.school,
CASE WHEN q1.class1 IS NOT NULL THEN NULL ELSE s.class1 END AS class1,
CASE WHEN q2.class2 IS NOT NULL THEN NULL ELSE s.class2 END AS class2
FROM
schools AS s
LEFT JOIN (SELECT DISTINCT class1 FROM schools WHERE class1 NOT IN (SELECT DISTINCT school FROM schools)) AS q1 ON s.class1 = q1.class1
LEFT JOIN (SELECT DISTINCT class2 FROM schools WHERE class2 NOT IN (SELECT DISTINCT school FROM schools)) AS q2 ON s.class2 = q2.class2
ORDER BY
s.school