根据索引变量

时间:2017-01-19 19:21:40

标签: sql-server ms-access odbc winlims

我使用用户定义的SQL语句从连接到Microsoft Access的数据库导入数据,称为WinLIMS。我正在尝试计算容器编号的数量,并且仅显示具有> 6计数的记录(即,计算具有相同容器编号且仅显示大于6的容器编号计数的记录) )。

我不想包含空值,我尝试将count函数移到Where子句并使用HAVING子句(这给了我一个"错误)预期的参数太少...> 1"对于尝试的第一个解决方案而且在TRANSFORM语句中出现"错误"对于尝试的第二个解决方案)。

代码从数据库WinLIMS™调用项目,然后通过Access™引用,但我被告知SQL代码(通用)将起作用。

由于服务器速度慢,我们使用TRANSFORM语句来规范化我们的数据。 [REG_ON]DATE[CONTAINER_NO]以及[CONTAINER_NO_FIXED]是文字值:

TRANSFORM Min([ORESULT])   

SELECT  [REG_ON], [COMMINGLED_LOT], [MKT_SYNONYM], [CONTAINER_NO],

这是我删除连字符和额外空格等内容的代码部分,因为它们仍应计为具有或不包含特殊字符值的相同容器,例如[CONTAINER_NO]="T-164"[CONTAINER_NO]="T164" < / p>

REPLACE(REPLACE(REPLACE(REPLACE
([CONTAINER_NO]," ","")," ",""),"_",""),"51400","51A400") AS 
[CONTAINER_NO_FIXED], COUNT([CONTAINER_NO_FIXED]) AS   
[CONTAINER_COUNT],      

FROM [dbo.V_NWA_RESULT]          

WHERE [REG_ON]>=DATE () - 360 AND [MKT_SYNONYM] IN 
("6860", ""4459")            

GROUP BY [REG_ON], [COMMINGLED_LOT], [MKT_SYNONYM], [CONTAINER_NO], 

HAVING [CONTAINER_COUNT] > 6 PIVOT [PA_NAME]  IN   ("Aluminum (Al)",
    "Antimony (Sb)",      "Arsenic (As)",       "Barium (Ba)",
    ....       //This is done to normalize data since our server is slow

总之,我希望此列表排除容器51A40051A200GC151A988(注意 - 使用的数据片段,这只会如果我使用大于1而不是6,则为真,但这只是为了澄清)。

screencap of results

由于

0 个答案:

没有答案