Javascript Alasql:UNION(或UNION ALL)仅给出表1中的结果
使用alasql在GROUP BY查询中使用UNION或UNION ALL时,仅检索表1中的结果 相反,运行单独的查询会输出正确的结果 看到这把小提琴了吗Javascript Alasql:UNION(或UNION ALL)仅给出表1中的结果,javascript,sql,union,union-all,alasql,Javascript,Sql,Union,Union All,Alasql,使用alasql在GROUP BY查询中使用UNION或UNION ALL时,仅检索表1中的结果 相反,运行单独的查询会输出正确的结果 看到这把小提琴了吗 刚发现:好像是个虫子 看 : var data= [ {"label":"transport - car","value":800}, {"label":"airplane","value":234}, {"label":"train","value":500}, {"label":"glider","value":123}, {"label
刚发现:好像是个虫子 看 :
var data= [
{"label":"transport - car","value":800},
{"label":"airplane","value":234},
{"label":"train","value":500},
{"label":"glider","value":123},
{"label":"transport - motorbike","value":50},
{"label":"transport - bike","value":150}
];
var query1 = alasql('' +
'SELECT \'transport\' AS label, SUM(CAST([value] AS INT)) AS [value] ' +
'FROM ? ' +
'WHERE label LIKE \'%transport%\' ' +
'GROUP BY \'transport\' ' +
'',
[data]);
var query2 = alasql('' +
'SELECT label, SUM(CAST([value] AS INT)) AS [value] ' +
'FROM ? ' +
'WHERE label NOT LIKE \'%transport%\' ' +
'GROUP BY label' +
'',
[data]);
var queryUnion = alasql('' +
'SELECT \'transport\' AS label, SUM(CAST([value] AS INT)) AS [value] ' +
'FROM ? ' +
'WHERE label LIKE \'%transport%\' ' +
'GROUP BY \'transport\' ' +
'UNION ALL ' + //or UNION, same result!
'SELECT label, SUM(CAST([value] AS INT)) AS [value] ' +
'FROM ? ' +
'WHERE label NOT LIKE \'%transport%\' ' +
'GROUP BY label' +
'',
[data, data]);
$("#res").html("<br/>UNION IS WRONG (length is correct, but query2 results are missing!!!)!<br/>" + JSON.stringify(queryUnion) + " LENGTH: " + queryUnion.length);
$("#info").html("<br/>Query1 is correct:<br/>"
+ JSON.stringify(query1)
+ " LENGTH: " + query1.length
+ "<br/><br/>Query2 is correct<br/>" + JSON.stringify(query2)
+ " LENGTH: " + query2.length);