У меня есть две таблицы: исключены и kaggleresults. Я пытаюсь найти записи, которые существуют в excluded
, но не существуют в kaggleresults
Как получить записи, которые существуют в таблице 1, но не в таблице 2?
подсчетов:
scala> spark.sql("select * from excluded").count()
res136: Long = 4652
scala> spark.sql("select * from kaggleresults").count()
res137: Long = 4635
Разница заключается в том 17
scala> res136-res137
res139: Long = 17
Я пытаюсь получить эти 17 записей. Я написал запрос ниже, но вместо этого возвращает 38
.
scala> spark.sql("select * from excluded left join kaggleresults on kaggleresults.subject_id = excluded.subject_id where kaggleresults.subject_id is null").count()
res135: Long = 38
Вопрос
Что запрос мне нужно написать, чтобы получить эти 17 записей?
, пожалуйста, сообщите мне общий идентификатор между этими таблицами –
Anthony ваш запрос на исключение выглядит правильно. Вы можете сделать это через левое соединение, как вы это делали, EXISTS или NOT IN, но все должны давать те же результаты, которые вы, вероятно, получили 38, потому что 38 записей не существует. Вы говорите, что 17, но один другой вариант, который может произойти, это записи, которые находятся в kagglersults, которые НЕ исключены, у вас, вероятно, есть 21 запись, подобная той, которая будет означать чистую разницу в 17 – Matt
@ Энтони, пожалуйста, проверьте ниже запрос. Я думаю, это будет работать для вас –