Possible Duplicate:
WHERE Something IN (CASE WHEN statement) ??!!O Som quelque chose dans (déclaration CASE WHEN)?
Je veux écrire une "sélection-où" avec une condition cinditonal.
i utilisé "cas où" dans "où ID IN" clause Mais je l'erreur suivante:
Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
ici est mon code simplifié:
SELECT
UnitsAllocation.UnitID,
OrganizationUnits.Title AS UnitTitle,
'Title' AS ExpenseTitle1,
SUM(UnitsAllocationDetails1.ExpenseAmount1) AS ExpenseAmount1
FROM
[bdg_UnitsAllocation] UnitsAllocation LEFT OUTER JOIN
(SELECT
UnitsAllocationDetails.UnitsAllocationID,
SUM(UnitsAllocationDetails.Amount)/1 AS ExpenseAmount1
FROM [bdg_UnitsAllocationDetails] UnitsAllocationDetails
WHERE UnitsAllocationDetails.ExpenseID IN (CASE 1
WHEN 1 THEN (SELECT Id FROM bdg_Expenses WHERE ParentId = 1)
ELSE (SELECT Id FROM bdg_Expenses WHERE Id = 1)
END)
GROUP BY UnitsAllocationDetails.UnitsAllocationID) UnitsAllocationDetails1 ON UnitsAllocationDetails1.UnitsAllocationID = UnitsAllocation.ID LEFT OUTER JOIN
[bdg_OrganizationUnits] OrganizationUnits ON UnitsAllocation.UnitID = OrganizationUnits.ID
GROUP BY UnitsAllocation.UnitID, OrganizationUnits.Title
S'il vous plaît Look At "WHERE UnitsAllocationDetails.ExpenseID IN ...
"
Comment puis-je résoudre ce problème?
Vous venez de poser la même question. Si vous voulez modifier votre question, éditez-la, n'en créez pas une nouvelle. –
malheureusement dans ma région "XXX" est interdit pharase! et a été filtré conformément à nos politiques Internet. donc je ne peux pas ouvrir ma question pour voir ou modifier, alors je l'ai encore demandé. vous avez répété XXX à nouveau sur cette page! – mahdiahmadirad
rotfl. J'ai édité votre question originale pour enlever les x. –