繁体   English   中英

不正确的 Sequelize 查询

[英]Incorrect Sequelize query

我有这个不返回预期列的续集查询。

db.conn.query(
                  " SELECT t1.id, t1.name, t2.name" +                   
                  "   FROM category t1 " +
                  "    LEFT OUTER JOIN parental t2 ON t1.id = t2.id "

这是续集日志:

> Executing (default): SELECT t1.id, t1.name, t2.name   FROM category t1
> LEFT OUTER JOIN parental t2 ON t1.id = t2.id

这是结果表:

┌─────────┬────┬──────┐
│ (index) │ id │ name │
├─────────┼────┼──────┤
│    0    │ 1  │ 'L'  │
│    1    │ 2  │ '10' │
│    2    │ 3  │ '12' │

请注意,结果表中不存在列t2.name

但是,我在 mySql 工作台中做了同样的查询,我得到了第三列。

有人知道这个问题吗?

提前致谢!

sequelize 似乎使用密钥 map 将结果集加载回应用程序。 您需要为所有列提供不同的列名。

例如,您可以将第一行更改为:

SELECT t1.id, t1.name, t2.name as name2

将所有三列分别作为idnamename2接收。 as <alias>表达式为 SQL 查询中的列或计算表达式分配别名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM