Всем привет.
Недавно столкнулся с редашем, и обнаружил странное поведение.
При попытке применить left outer join он не возвращает строки, для которых нет матчей в правой части.
Это у него врождённое ограничение, или я что-то в запросе напорол?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, wildwind, Вы писали: W>Так странно видеть в этом разделе вопрос от тебя, без указания версии, запросов и т.д.
Писал одной рукой во время митинга.
1. Как узнать версию Redash? У меня есть только доступ в его web UI.
2. Сами запросы не имеет смысла приводить без данных, а данные — закрытые, production.
Вот накидал эквивалентный пример — там именно такой предикат джойна, по совпадению одного из полей, и диапазонный поиск по второму. https://www.db-fiddle.com/f/nrzfX84HyKPA99ZDB4Vso4/1
Видите разницу в результатах первого и второго запроса?
У меня почему-то redash возвращает одинаковые результаты что для inner join, что для outer join; при этом если я просто сделаю select * from a, то записей будет больше.
Т.е. у нас есть записи в a, для которых нет матча в b, но они даже при left outer join не возвращаются
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Alex.Che, Вы писали: AC>блин, ты тут такую интригу завесил! AC>так есть таки там outer?
Вроде работает. Хотя до того исходного запроса я так и не добрался, но несколько тестовых запросов в других местах отдают всё более-менее норм. Может, это вообще был временный глюк.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
AC>>так есть таки там outer? S>Вроде работает. Хотя до того исходного запроса я так и не добрался, но несколько тестовых запросов в других местах отдают всё более-менее норм. Может, это вообще был временный глюк.
было бы интересно воспроизвести на исходных данных.
ибо мы слепо верим, что на "больших данных" оно работает "как надо".
а ежели это не совсем так, то ОЙ!