Назад | Перейти на главную страницу

Как использовать переменные во внутренних запросах?

Я пытаюсь создать запрос, который имеет что-то вроде этого

select
    id,
    (select top 1 create_date from table2 
         where table1id = t1.id 
         and status = 'success') [last_success_date],
    (select count(*) from table2
         where table1id = t1.id
         and create_date > [last_success_date]) [failures_since_success]
from table1 t1

Как видите, [last_Success_Date] не входит в сферу действия второго запроса. Мне было интересно, как я могу получить доступ к этому значению в других запросах, не выполняя его повторно?

Вы можете включить соответствующий подзапрос для [last_success_date] в «от», а не в «выбор». Когда вы это сделаете, вы, вероятно, присоединитесь к таблице 1 id. Это сделает значение доступным для select.