0

このクエリを変換したい:

SELECT *
FROM   myTable
WHERE   dateCreated = (
                       SELECT MAX(dateCreated)
                       FROM   myTable
                      )
      AND duty IS NULL
      AND CompanyPayingId   IN 
                                  (43081 ,43082 ,43084 ,43085)

inからクエリに変更Existsする(パフォーマンスのため):

ただし、コードの変換に問題があるため、 where句を複製する必要があると思います...

このコードを変換するにはどうすればよいですか?

4

1 に答える 1

1

私はこのようにすることができます:

create table num(idn int)
insert into num values(43081) ,(43082),(43084) ,(43085)
select * from num
SELECT *
FROM   myTable m inner join num n
ON  m.dateCreated = (SELECT MAX(dateCreated) FROM   myTable)
      AND m.duty IS NULL
      AND m.CompanyPayingId=n.num
于 2012-08-06T08:28:36.650 に答える