Я знаю, это звучит странно, но я ищу способ заставить Vertica показывать индикатор, когда записи на самом деле не существует - возможно, это проще понять на примере.
Давайте представим, что я хочу найти в таблице наличие 3 записей, каждая из которых имеет уникальный ключ job_id: (100,200,300)
, и я хочу получить некоторые другие поля для той же записи, например временную метку или что-то еще...
Я бы сделал что-то вроде этого:
vsql> select job_id, date from my_table where job_id in (100,200,300);
Если есть только записи для 100
и 300
, результат должен быть примерно таким:
job_id | date
--------+---------
100 | 01/01/01
300 | 03/03/03
Что я хотел бы получить в результате:
job_id | date
--------+---------
100 | 01/01/01
200 |
300 | 03/03/03
Почему? Потому что я хочу добавить данные из других источников в вывод запроса, и этот источник учитывает все job_id, даже если для него нет записей в my_table.
Я знаю, что вы можете JOIN
таблицу с самой собой, но в данном случае это не сработало, потому что ни в одной из таблиц (одной и той же, черт возьми) нет отсутствующей записи. Таким образом, эта проблема выглядит как нечто, что предотвращается дизайном, но мне интересно, была ли у кого-то такая же потребность. Заранее спасибо.
job_id
, которых нет в вашем левом наборе? Я бы заполнил их в таблице и присоединился к ним, или для небольшого количества заданий использовал ответ lad2025 ниже. - person Kermit   schedule 12.12.2015