首页 > 解决方案 > NodeJS:自定义 REST API 端点的嵌套 SQL 查询

问题描述

我目前正在通过 NodeJS 创建一个 REST-API。我用这两个表创建了一个 MySQL 数据库:

  1. 表:物理治疗师 = {( physio_id ),(surname),(lastname),( appuser_id )}

    --> PK = ( physio_id )

    --> FK = ( appuser_id ) 并在第二张表的PK上点

  2. 表:app_user = {( user_id ),(username),(password)}

    --> PK = ( user_id )

对于 REST-API 端点,我需要两个表的数据。例如,当我想要 id=3 且 api-enpoint 的用户信息类似于'localhost:3306/appusers/3' 时时,我想要两个表的数据作为结果。

这是我目前得到的:

getUserById:function(id, callback) {
        return db.query("Select * from user_physiO_app where user_id=?", [id], callback);

它只是第一个表的数据,那么如何获取第二个表的数据?

在此表示感谢!

标签: mysqlsqlnode.jsrest

解决方案


在@Evert 的友好建议后解决:我使用了INNER JOIN语法。

getUserById:function(id, callback) {
  return db.query("Select * from user_physiO_app inner join physiotherapeut on 
  user_physiO_app.user_id = physiotherapeut.physiO_user_id where user_id=?", [id], callback);
}

推荐阅读