Впервые в SQL, и я полностью потерян на этом.Попытка написать запрос, чтобы вытащить новые учетные записи, открытые в предыдущий день, что может быть легко для вторника-пятницы.Но по понедельникам наступает воскресенье, и все, что я пытался сделать, ошибалось.
Это самое близкое, что я пришел, но оно все еще не верно в последней строке.Я думаю, что я пытаюсь применить Excel VBA тип логики, и мне просто не нравится.Может кто-нибудь, пожалуйста, взгляните на это?
Спасибо!
SELECT
PortfolioCode as "Account",
f.reportheading1 as "Name",
d.portfoliostatus as "Status",
e.investmentstrategy as "Strategy",
e.brokersource as "Broker",
e.referringfirm as "RefBy",
e.custodian as "Bank",
e.manager as "Manager",
e.administrator as "APM",
d.initialvalue as "Open Value",
b.StartDate as "Start Date",
e.percentcash as "Cash%",
e.targetmvequity as "Eqt Trgt",
e.targetmvfixed as "FI Trgt",
e.munistrategy as "Muni Strat",
e.nationalmuni as "Nat. Muni",
e.statemunistrategy as "State Strat.",
e.residency as "Residency"
FROM
AdvPortfolioBaseExt as A
INNER JOIN
AdvPortfoliobase AS B ON A.PortfolioBaseID = b.PortfolioBaseID
INNER JOIN
advportfolio AS C ON A.PortfolioBaseID = c.PortfolioID
INNER JOIN
advapp.vportfolio AS D ON A.PortfolioBaseID = D.PortfolioID
INNER JOIN
advportfoliobaseext AS E ON A.portfoliobaseid = e.portfoliobaseID
INNER JOIN
advapp.vportfoliobase AS F ON a.PortfolioBaseID = f.PortfolioBaseID
WHERE
c.portfoliostatus <> 'Closed'
AND IIF(DATEPART(dw, GETDATE()) = 2, b.startdate > GETDATE() - 3, b.startdate > GETDATE()-1)