SQL-запрос продолжает возвращать несколько строк - PullRequest
0 голосов
/ 01 мая 2019

Я написал этот SQL-запрос, чтобы получить оставшиеся преимущества для конкретного пациента, ожидая, что он вернет одну строку, поскольку идентификатор пациента уникален, но он продолжает возвращать несколько строк.Как это исправить?СУБД MySql

 select Plan.pBenefitMax - sum(Transaction.employerTotal) as RemainingBenefit
 from Patient
 inner join Plan on Patient.pPlanId = Plan.planId
 inner join Transaction on Patient.patientId = Transaction.tPatientId
  where Patient.patientId = 1
 Group by Plan.pBenefitMax;

1 Ответ

1 голос
/ 01 мая 2019

Если при этом не будет получено ни одной строки, у вас либо будут дубликаты значений PatientId, либо PatientId связан с несколькими планами.

  SELECT Plan.pBenefitMax - 
         (SELECT SUM(`Transaction`.employerTotal) 
            FROM `Transaction` 
           WHERE `Transaction`.tPatientId = Patient.patientId) 
         AS RemainingBenefit
    FROM Patient
    JOIN Plan ON Patient.pPlanId = Plan.planId
   WHERE Patient.patientId = 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...