查询SELECT * AS不起作用

时间:2018-07-24 12:54:13

标签: javascript mysql sql node.js

我正在尝试做一些简单的事情,我想在一个合并的结果中运行两个查询。

我编写了以下代码:

database.query('SELECT * FROM `inventories` WHERE `status` = ' + 1 + ' AS `liveInventory`, SELECT * FROM `users` WHERE `balance` >= ' + 0.00 + ' AS `liveBalances`', function(error, call) {
    if(error){
        console.log(error);
        return;
    }

    console.log(call);
});

导致以下错误;

  

错误:ER_PARSE_ERROR:您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以获取在'AS liveInventory附近使用SELECT的正确语法,选择* FROM users WHERE balance> = 0 AS liveBalances' 1行       `

语法不正确吗?

1 个答案:

答案 0 :(得分:0)

您可以为列或表使用别名,但不能使用where子句的结果。

  

标准SQL不允许在WHERE子句中引用列别名。之所以施加此限制,是因为在评估WHERE子句时,可能尚未确定列值。

     

Reference

some better explained examples on W3Schools演示了MySQL别名通常如何工作。