次の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
)
私は部分文字列またはcharindexを使用できないことを知っています。したがって、vbsでは最も内側のselectは次のようになります。
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, ":")) )"
私が受け取るエラーメッセージは、
1つ以上の必須パラメーターに値が指定されていません
助言がありますか?ありがとう。