2015-11-06 92 views
1

我想查询一个JavaScript数组对象使用SQL(执行数据分组)。如何在列名称包含空格时使用SQL查询Javascript对象?

var data = [{ dep: 'A', qt: 10, price: 5}, 
{ dep: 'A', qt: 5, price: 2.30 }, 
{ dep: 'B', qt: 3, price: 2.20 }, 
{ dep: 'C', qt: 1, price: 4 }, 
{ dep: 'C', qt: 4, price: 10 }]; 

var res = alasql('SELECT dep, SUM(qt) AS qt, SUM(qt*price) AS amt, AGGR(amt/qt) AS price FROM ? GROUP BY dep',[data]); 



document.getElementById("res").textContent = JSON.stringify(res); 

但在我的原始方案,我有一个空格作为列名:

var data = [{ "dep name": 'A', qt: 10, price: 5}, 
    { "dep name": 'A', qt: 5, price: 2.30 }, 
    { "dep name": 'B', qt: 3, price: 2.20 }, 
    { "dep name": 'C', qt: 1, price: 4 }, 
    { "dep name": 'C', qt: 4, price: 10 }]; 

如何修改上面的SQL查询,以便可以使用空间,列名。 任何帮助将不胜感激。

回答

1

您可以使用反引号(`)来转义MySQL列名。这使您可以:

SELECT A as `dep name` ... 
相关问题