下面这段sql代码,在多个线路的条件下无法查询得到想要的结果。
DECLARE @CircuitIDs AS VARCHAR(200)
DECLARE @STRSQL AS VARCHAR(500)
SET @CircuitIDs= 'BEJBEJ(CNC)LK00001,SHZ(CT)IA00509'--2条线路编号
SET @STRSQL ='SELECT DISTINCT * FROM
(SELECT CusID,CctName FROM T_IAPNCircuit WHERE CctName IN('''+ @CircuitIDs +''')
UNION ALL
SELECT CusID,LKName FROM T_LKInfo WHERE LKName IN('''+ @CircuitIDs +''')) AS Temp';
EXEC(@STRSQL );
select @STRSQL的时候发现,sql语句使这样的:SELECT DISTINCT * FROM (SELECT CusID,CctName FROM T_IAPNCircuit WHERE CctName IN('BEJBEJ(CNC)LK00001,SHZ(CT)IA00509')
UNION ALLSELECT CusID,LKName FROM T_LKInfo WHERE LKName IN('BEJBEJ(CNC)LK00001,SHZ(CT)IA00509')) AS Temp
很明显,上面sql语句括号内不是('BEJBEJ(CNC)LK00001','SHZ(CT)IA00509')这样的形式,请问这样才能变成这样形式的呢?
|