Соединение 4 таблиц с помощью SQL-запроса - PullRequest
0 голосов
/ 12 марта 2019

В настоящее время я пытаюсь написать запрос, который позволит мне извлекать данные из четырех разных таблиц.Это краткое представление о том, как выглядят мои таблицы и как они соединяются: enter image description here

Я могу получить запрос на подключение к таблицам лекарств и диагностики пользователя из таблицы usermedication ok, но когда я пытаюсь подключить таблицу диагностики из таблицы пользовательского диагноза, запрос не будет запущен.Я пытаюсь извлечь текст диагноза из таблицы диагнозов.

Это запрос, который я выполняю сейчас, но он, похоже, не работает:

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;

В настоящее время я запускаю этот код из лазурного легкого API и использую формы xamarin.Любая помощь приветствуется.

1 Ответ

3 голосов
/ 12 марта 2019

dbo.userdiagnosis указан дважды (обратите внимание на запятую в строке FROM) ... не объединяйте таблицы запятыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...