0

以下のSQLクエリがあります。で同じクエリを実行したかったのですが、変換できず、適切な結果が得られません。正しい変換形式を取得できますか?

SELECT distinct CASE 
WHEN enty_typ_cd = 'acct' THEN 'Account : '
WHEN enty_typ_cd = 'pfolio' THEN 'Portfolo : '
END +
a.mstr_shrt_nm_id as [ ]
FROM RCMglbl..nav_nt a, RCMglbl..enty_mstr b
WHERE a.enty_id = b.id AND office = 'sf'
AND mnth_end_dt <> (select lst_mo_end_dt from RCMglbl..proc_dt)
AND mnth_end_dt is not NULL
4

1 に答える 1

1

文字列をに変換することで何を意味するのかわかりません... Ansgar Wiechersが言ったように、文字列は同じままですが、とにかくVBscript環境は変わります... このコードを接続文字列に配置して、サーバーに合わせて接続文字列を 編集し、拡張子 を付けてファイルを保存します それを見つけて実行してください!

notepad.exe

.vbs

Const adUseClient = 3
Dim cn
Set cn = CreateObject("ADODB.Connection")

dim sql
sql = "SELECT distinct CASE " & _
        "WHEN enty_typ_cd = 'acct' THEN 'Account : ' " & _ 
        "WHEN enty_typ_cd = 'pfolio' THEN 'Portfolo : ' " & _ 
        "END + a.mstr_shrt_nm_id as [ ] " & _
        "FROM RCMglbl..nav_nt a, RCMglbl..enty_mstr b " & _ 
        "WHERE a.enty_id = b.id AND office = 'sf' " & _ 
        "AND mnth_end_dt <> (select lst_mo_end_dt from RCMglbl..proc_dt) " & _
        "AND mnth_end_dt is not NULL"
with cn 
    .CursorLocation = adUseClient
    .Open "Driver={SQL Server};Server=SERVER_NAME; Database=DATABASE_NAME; UID=USER_ID_NAME; PWD=PASSWORD"
    .CommandTimeout = 0
    .Execute(sql)
end with

cn.close
set cn = Nothing

それが機能するようになったら、クエリから得られる結果について考える必要があります...したがって、SELECT STATEMENTとおそらくRECORDSETについてもっと読むことをお勧めします

于 2013-05-17T10:37:28.803 に答える