1
У меня есть SQL-запрос, как следующим образом:SQL запросов смешайте операторов выбора
SELECT *r1.val, r2.prevVal
FROM (Select statement) AS r1,
(Select statement) AS r2
WHERE
r1.object_id = r2.object_id
Это работает, проблема в том, когда r2
выберите оператор возврата ничего, поэтому, все геЬигп ничего, потому что он не может выполнить r1.object_id = r2.object_id
.
Как я могу воспроизвести тот же оператор, который будет выводить значения, если в предложении выбора есть значения r1
и нет значений в заявлении выбора r2
? Поэтому я могу получить доступ к значению r1.val
.
Вы призываете object_id от обоих выбранных утверждений? Если нет, вы получите сообщение об ошибке –
. Вы используете синтаксис соединения, который был сделан избыточным в 1992 году. Вы больше не должны его использовать. Вместо этого используйте явные объединения: 'from r1 inner join r2 on ...', если вы хотите, чтобы внутреннее соединение или 'от r1 осталось внешним соединением r2 on ...', когда вы хотите внешнее соединение. (Вы используете внутреннее соединение, но действительно хотите использовать внешнее соединение здесь.) –