我正在尝试执行以下 SQL 语句(在 SQL Server 2005 中构建和测试)
Select *
From mytesttable
where myPk in
(
select t3 from (
select field1, substring(field3, charindex(":", field3),6) t2, min(mypk) t3
from mytesttable
group by field2, substring(field3, charindex(":", field3),6)
) t
)
我知道我不能使用子字符串或字符索引。所以最里面的选择在vbs中是这样的:
strsql = "select mid(field3, instr(1, field3, ":")), min(mypk) from "
strsql = strsql & myCSVFileName
strsql = strsql & myCSVFileName & " GROUP By mid(field3, instr(1, field3, ":")) "
这运行良好。
但是当我尝试添加下一个选择来包装最内部的选择时,它会失败。代码如下所示:
strsql = "select mypk from ( select mid(field3, instr(1, field3, ":")), min(mypk) from "
strsql = strsql & myCSVFileName
strsql = strsql & myCSVFileName & " GROUP By mid(field3, instr(1, field3, ":")) )"
我得到的错误信息是有
没有为一个或多个必需参数指定值
有什么建议么?谢谢。