Sql server 基于索引变量上的容器编号进行筛选
我使用一个用户定义的SQL语句从一个数据库导入数据,该数据库连接到名为WinLIMS的Microsoft Access。我试图计算集装箱编号的数量,仅显示计数为Sql server 基于索引变量上的容器编号进行筛选,sql-server,ms-access,odbc,winlims,Sql Server,Ms Access,Odbc,Winlims,我使用一个用户定义的SQL语句从一个数据库导入数据,该数据库连接到名为WinLIMS的Microsoft Access。我试图计算集装箱编号的数量,仅显示计数为>6的记录(即,计算具有相同集装箱编号的记录,仅显示大于6的集装箱编号) 我不想包含空值,我已尝试将我的count函数移动到Where子句,并使用HAVING子句(对于尝试的第一个解决方案,该子句为我提供了一个“error too limited parameters expected…”1,对于尝试的第二个解决方案,为我提供了一个“er
>6
的记录(即,计算具有相同集装箱编号的记录,仅显示大于6的集装箱编号)
我不想包含空值,我已尝试将我的count
函数移动到Where
子句,并使用HAVING
子句(对于尝试的第一个解决方案,该子句为我提供了一个“error too limited parameters expected…”1,对于尝试的第二个解决方案,为我提供了一个“error in TRANSFORM statement”
代码正在从数据库WinLIMS调用项™ 然后通过Access引用™, 但有人告诉我SQL代码(通用)可以工作
由于服务器速度较慢,我们使用TRANSFORM
语句来规范数据[REG\u ON]
是日期
和[CONTAINER\u NO]
以及[CONTAINER\u NO\u FIXED]
是文本值:
TRANSFORM Min([ORESULT])
SELECT [REG_ON], [COMMINGLED_LOT], [MKT_SYNONYM], [CONTAINER_NO],
这是我在代码中删除连字符和额外空格等内容的部分,因为它们仍然应被视为具有或不具有特殊字符值的同一容器,例如[container\u NO]=“T-164”
和[container\u NO]=“T164”
总之,我希望此列表不包括容器51A400
、51A200
、GC1
、和51A988
(注意——使用的数据片段,只有当我使用大于1而不是6时才是这样,但这只是为了澄清)
谢谢
你是在建议修改一个查询,这不是在这里吗?@ Talk这个查询是在Table OH上面写的,我知道,你在查询的中间插入了一个问题。查询似乎也不完整,因为您之前在和中都有逗号。。。这可能会导致各种错误,如果这是执行。我建议您提供Query1,Q1Error,Query2,Q2Error,Query3,Q3Results,描述Q3Results的意外情况。@Talled谢谢我将相应地更新此问题并道歉,因为我对所有这些都很陌生,谢谢!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