[英]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
将所有三列分别作为id
、 name
和name2
接收。 as <alias>
表达式为 SQL 查询中的列或计算表达式分配别名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.