Cole100
asked on
How do I get a sum of two returned rows in a Access query?
I am working in MS Access as my SQL knowledge is limited. When I pull Method of Payment I need the CASH and CHANGE to be returned as a SUM. In this example: CASH 312.89 and CHANGE 52.93 I would like it to just return the result as CASH = $259.96 along with all the other MOP's. I do not want to see the change line.
Is something like this possible? Thanks for any insight you can provide.
Is something like this possible? Thanks for any insight you can provide.
SELECT dds_Daily_MOP_Tb.Store_Number, dds_Daily_MOP_Tb.Operations_Day, dds_Daily_MOP_Tb.MOP, dds_Daily_MOP_Tb.MOP_Amount
FROM dds_Daily_MOP_Tb
WHERE (((dds_Daily_MOP_Tb.Store_Number)=2322) AND ((dds_Daily_MOP_Tb.Operations_Day)=Date()-1));
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Access uses the excel version of iif:
eg: iif(expression, true part here, false part here)
But there's also the concept of linked queries which I utlize all the time (eg: I find access queries very limiting, so write them in sql as views and then import the view as a "linked table").
eg: iif(expression, true part here, false part here)
But there's also the concept of linked queries which I utlize all the time (eg: I find access queries very limiting, so write them in sql as views and then import the view as a "linked table").
Ah okay. I guess SWITCH is a vba function, not sql. IIF works, but isn't as elegant/simple as CASE so I guess UNION or VIEW is the way to go here.
SELECT d.Store_Number
, d.Operations_Day
, CASE WHEN d.MOP IN ('Cash', 'Change') THEN 'CASH' ELSE d.MOP END AS MOP
, SUM( d.MOP_Amount ) AS MOP_Amount
FROM dds_Daily_MOP_Tb d
WHERE ...... etc...
GROUP BY d.Store_Number
, d.Operations_Day
, CASE WHEN d.MOP IN ('Cash', 'Change') THEN 'CASH' ELSE d.MOP END
Results...