Mögliche Duplizieren:
Referring to a Column Alias in a WHERE ClauseWie benutze ich Alias in where-Klausel?
SELECT
Trade.TradeId,
Isnull(Securities.SecurityType,'Other') SecurityType,
TableName,
CASE
WHEN
SecurityTrade.SecurityId IS NOT NULL
THEN
SecurityTrade.SecurityId
ELSE
Trade.SecurityId
END AS PricingSecurityID,
sum(Trade.Quantity)OVER(Partition by Securities.SecurityType, SecurityTrade.SecurityId,Trade.Price, Buy,Long) as sumQuantity,
--added porfolio id for Getsumofqantity
Trade.PortfolioId,
Trade.Price,
case
when (Buy = 1 and Long = 1) then 1
when (Buy = 0 and Long = 0) then 1
else 0
end Position
from
Fireball_Reporting..Trade
where porfolioid =5 and Position =1
ich will Position verwenden = 1 in meiner where-Klausel, die ein Alias von Fall ist
case
when (Buy = 1 and Long = 1) then 1
when (Buy = 0 and Long = 0) then 1
else 0
end Position
Wie kann ich Verwenden Sie es in Where-Klausel?
versuchte ich, dass die CASE-Anweisung in Klausel direkt wo gescheitert, aber helfen bitte
mirWHERE Trade.SecurityId = @SecurityId AND PortfolioId = @GHPortfolioID AND
(case when (Buy = 1 and Long = 1) then 1 when (Buy = 0 and Long = 0) then 1 else 0 end Position = 1)
Sie können nicht, es sei denn, Sie fügen eine weitere Auswahl hinzu und überprüfen Position = 1 auf äußere Abfrage. –
Welche SQL-Sprache verwenden Sie? – StingyJack
T SQL im SQL-Server 2008 – Neo