使用sql查询连接4个表

问题描述 投票:0回答:1

目前我正在尝试编写一个查询,允许我从四个不同的表中提取数据。这是我的表格看起来如何以及它们如何连接的简要概念:enter image description here

我可以从usermedication表中获取查询以连接到medicine和userdiagnosis表,但是当我尝试从userdiagnosis表连接诊断表时,查询将不会运行。我试图从诊断表中提取诊断文本。

这是我现在正在运行的查询但它似乎没有工作:

var api = {
// an example of executing a SQL statement directly
get: (request, response, next) => {
    var query = {
        sql: 'SELECT  dbo.usermedication.id, \
        dbo.medicine.id AS medicationid,  \
        dbo.medicine.medname, \
        dbo.usermedication.isactive, \
        dbo.usermedication.reminder, \
        dbo.usermedication.communityfeedback, \
        dbo.usermedication.frequency, \
        dbo.usermedication.directions, \
        dbo.medicine.dosage, \
        dbo.usermedication.datetimetotake,  \
        dbo.userdiagnosis.id as "userdiagnosisid", \
        dbo.diagnosis.id AS diagnosisid, \
        dbo.diagnosis.diagnosistext \
        FROM dbo.usermedication, dbo.userdiagnosis 
INNER JOIN dbo.medicine ON dbo.usermedication.medicationid = dbo.medicine.id  
INNER JOIN dbo.userdiagnosis ON dbo.usermedication.userdiagnosisid = dbo.userdiagnosis.id  
INNER JOIN dbo.diagnosis ON dbo.userdiagnosis.diagnosisid = dbo.diagnosis.id 
WHERE dbo.usermedication.userid = @userid AND dbo.usermedication.isactive = 1',
        parameters: [
            { name: 'userid', value: request.query.userid }
        ]
    };

    request.azureMobile.data.execute(query)
        .then(function (results) {
            response.json(results);
        });
}
};

     module.exports = api;

我目前正在运行这个关闭azure easy api并使用xamarin表格。任何帮助赞赏。

mysql sql
1个回答
3
投票

dbo.userdiagnosis列出两次(注意FROM行中的逗号)...不要用逗号连接表。

© www.soinside.com 2019 - 2024. All rights reserved.