2017-03-13 12 views
0

deleteに置き換えると、tの近くの2行目に構文エラーが発生します。しかし、私はwhere節でそれを参照しているので、tが必要です。どうすればこのクエリの結果を削除できますか? @Gordon Linoffが言ったように複雑なクエリの結果を削除する方法

select * 
    from [PrimusGroup].[dbo].[PrmsBlotter] t 
    where t.RunType = 'Backtesting' 
     and not exists (
     select 1 
     from [PrimusGroup].[dbo].[PrmsBlotter] i 
     where i.RunType = 'Live' 
      and i.BBox = t.BBox 
      and convert(date,i.RunDateStart) = convert(date,t.TestDateFrom) 
    ) 
+4

「削除」に置き換えてください。 –

答えて

1

delete tselect *を交換してください。

delete t 
from [PrimusGroup].[dbo].[PrmsBlotter] t 
where t.RunType = 'Backtesting' 
    and not exists (
    select 1 
    from [PrimusGroup].[dbo].[PrmsBlotter] i 
    where i.RunType = 'Live' 
     and i.BBox = t.BBox 
     and convert(date,i.RunDateStart) = convert(date,t.TestDateFrom) 
) 
関連する問題