G
Guest
Hi,
I am trying to design (write) a query to pull inventory cycle count data
for metric reporting . There is field is my query that contains values of
A,B, C or Blank. I want to change these values and sum:
When A , then 4
When B , then 2
When C then 1
else 1.
Below is my SQL. It does not like my logic....
SELECT dbo_TIDCAFAC.FACILITY,
Count(dbo_TIDCAFAC.CATALOG_ID) AS CountOfCATALOG_ID
Sum( Case when tidcafac.abc_analysis_code = 'A' then
count(tidccwhs.loc_zone) * 4
when tidcafac.abc_analysis_code = 'B' then count(tidccwhs.loc_zone) * 2
when tidcafac.abc_analysis_code = 'C' then count(tidccwhs.loc_zone) * 1
else count(tidccwhs.loc_zone) * 1
End )
FROM dbo_TIDCAWHS INNER JOIN (dbo_TIDCCWHS INNER JOIN dbo_TIDCAFAC
ON (dbo_TIDCCWHS.CATALOG_ID = dbo_TIDCAFAC.CATALOG_ID)
AND (dbo_TIDCCWHS.FACILITY = dbo_TIDCAFAC.FACILITY))
ON (dbo_TIDCAWHS.WHSE = dbo_TIDCCWHS.WHSE)
AND (dbo_TIDCAWHS.LOC_BIN = dbo_TIDCCWHS.LOC_BIN)
AND (dbo_TIDCAWHS.LOC_TIER = dbo_TIDCCWHS.LOC_TIER)
AND (dbo_TIDCAWHS.LOC_SECTION = dbo_TIDCCWHS.LOC_SECTION)
AND (dbo_TIDCAWHS.LOC_ROW = dbo_TIDCCWHS.LOC_ROW)
AND (dbo_TIDCAWHS.LOC_ZONE = dbo_TIDCCWHS.LOC_ZONE)
AND (dbo_TIDCAWHS.QTY_TYPE = dbo_TIDCCWHS.QTY_TYPE)
AND (dbo_TIDCAWHS.Q_LEVEL = dbo_TIDCCWHS.Q_LEVEL)
AND (dbo_TIDCAWHS.CATALOG_ID = dbo_TIDCCWHS.CATALOG_ID)
AND (dbo_TIDCAWHS.FACILITY = dbo_TIDCCWHS.FACILITY)
WHERE (((dbo_TIDCCWHS.QTY_TYPE) In ("PR","AL","SU","TP","AC"))
AND ((dbo_TIDCAFAC.CATALOG_STATUS) Not In ("RECODED","OBSOLETE"))
AND ((dbo_TIDCAFAC.STOCK_TYPE) Not In ("X")))
GROUP BY dbo_TIDCAFAC.FACILITY
HAVING (((dbo_TIDCAFAC.FACILITY)="MFS"));
Cleve (access beginner 101)
I am trying to design (write) a query to pull inventory cycle count data
for metric reporting . There is field is my query that contains values of
A,B, C or Blank. I want to change these values and sum:
When A , then 4
When B , then 2
When C then 1
else 1.
Below is my SQL. It does not like my logic....
SELECT dbo_TIDCAFAC.FACILITY,
Count(dbo_TIDCAFAC.CATALOG_ID) AS CountOfCATALOG_ID
Sum( Case when tidcafac.abc_analysis_code = 'A' then
count(tidccwhs.loc_zone) * 4
when tidcafac.abc_analysis_code = 'B' then count(tidccwhs.loc_zone) * 2
when tidcafac.abc_analysis_code = 'C' then count(tidccwhs.loc_zone) * 1
else count(tidccwhs.loc_zone) * 1
End )
FROM dbo_TIDCAWHS INNER JOIN (dbo_TIDCCWHS INNER JOIN dbo_TIDCAFAC
ON (dbo_TIDCCWHS.CATALOG_ID = dbo_TIDCAFAC.CATALOG_ID)
AND (dbo_TIDCCWHS.FACILITY = dbo_TIDCAFAC.FACILITY))
ON (dbo_TIDCAWHS.WHSE = dbo_TIDCCWHS.WHSE)
AND (dbo_TIDCAWHS.LOC_BIN = dbo_TIDCCWHS.LOC_BIN)
AND (dbo_TIDCAWHS.LOC_TIER = dbo_TIDCCWHS.LOC_TIER)
AND (dbo_TIDCAWHS.LOC_SECTION = dbo_TIDCCWHS.LOC_SECTION)
AND (dbo_TIDCAWHS.LOC_ROW = dbo_TIDCCWHS.LOC_ROW)
AND (dbo_TIDCAWHS.LOC_ZONE = dbo_TIDCCWHS.LOC_ZONE)
AND (dbo_TIDCAWHS.QTY_TYPE = dbo_TIDCCWHS.QTY_TYPE)
AND (dbo_TIDCAWHS.Q_LEVEL = dbo_TIDCCWHS.Q_LEVEL)
AND (dbo_TIDCAWHS.CATALOG_ID = dbo_TIDCCWHS.CATALOG_ID)
AND (dbo_TIDCAWHS.FACILITY = dbo_TIDCCWHS.FACILITY)
WHERE (((dbo_TIDCCWHS.QTY_TYPE) In ("PR","AL","SU","TP","AC"))
AND ((dbo_TIDCAFAC.CATALOG_STATUS) Not In ("RECODED","OBSOLETE"))
AND ((dbo_TIDCAFAC.STOCK_TYPE) Not In ("X")))
GROUP BY dbo_TIDCAFAC.FACILITY
HAVING (((dbo_TIDCAFAC.FACILITY)="MFS"));
Cleve (access beginner 101)