|
|
感谢小肥大神的指导,已经找到解决方法,原来系统在查询的时候会自己给sql语句改造成这个样子
SELECT
*
FROM
(
SELECT
*
FROM
(
SELECT
group_concat(
code_name
ORDER BY
c_order SEPARATOR ';'
) AS ITEM_ZW,
'DOMAINID' AS DOMAINID
FROM
dsideal.t_code
WHERE
code_id LIKE '01%'
AND is_leaf = 1
AND is_used = 1
) TABLE_A
) table_0
WHERE
table_0.DOMAINID = '11e1-81e2-37f74759-9124-47aada6b7467'
也就是说需要一个DOMAINID这个字段。但是我原来加的'DOMAINID' AS DOMAINID是不对的,这里要获得DOMAINID的值。
所以将原来的SQL改造成如下
var sql = "SELECT *
FROM (SELECT
group_concat(code_name ORDER BY c_order SEPARATOR ';' ) AS ITEM_ZW,
'"+domainid+"' AS DOMAINID
FROM
t_code WHERE code_id LIKE '01%' AND is_leaf = 1 AND is_used = 1 )
TABLE_A
where DOMAINID = '" + domainid+"' " ;
而原来的脚本改造成如下
var domainid = getDomainid();
println("domainid is ===" + domainid);
var sql = "SELECT * FROM (SELECT group_concat(code_name ORDER BY c_order SEPARATOR ';' ) AS ITEM_ZW,'"+domainid+"' AS DOMAINID ,'APPLICATIONID' AS APPLICATIONID FROM t_code WHERE code_id LIKE '01%' AND is_leaf = 1 AND is_used = 1 ) TABLE_A where DOMAINID = '" + domainid+"' " ;
println("sql is === " + sql );
var rtn = '';
var datas =queryBySQL(sql);
println("datas======" + datas);
if(datas!=null){
var iter =datas.iterator();
if(iter != null && iter.hasNext())
{
doc = iter.next();
rtn = doc.getItemValueAsString("ZW");
}
}
rtn;
加上获得domainid的方法,再将方法放在sql中做为一个值传过去,这个不知道是为了什么,感觉挺2的。希望大神给予指导。 |
|