Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL पहली तारीख के अनुसार निदान किए गए प्रत्येक रोगी से केवल एक पंक्ति का चयन करें

मुझे लगता है कि आप जो चाहते हैं वह पहली मुलाकात और आखिरी मधुमेह आकलन है। मैंने मान लिया है कि आपकी सभी तालिकाओं में पहला फ़ील्ड एक auto_increment फ़ील्ड है और वह परामर्श_आईडी फ़िडल में गलत तरीके से टाइप किया गया है।

उपरोक्त को देखते हुए

MariaDB [sandbox]> select p.patient_name_en,v.*,c.diagnosis_id,d.diagnosis_name,da.date_of_assessment,da.assessment_result
    -> from visit v
    -> join patient p on p.patient_id = v.patient_id
    -> join consultation c on c.patient_id = v.patient_id and c.visit_id = v.visit_id
    -> join diagnosis d on d.diagnosis_id = c.diagnosis_id
    -> left join
    -> (
    -> select da.patient_id, da.date_of_assessment,da.assessment_result
    -> from diabetes_assessment da
    -> where da.diabetes_assessment_id  = (select max(da1.diabetes_assessment_id) from diabetes_assessment da1 where da1.patient_id = da.patient_id)
    -> ) da on da.patient_id = v.patient_id
    -> where v.visit_id = (select min(visit_id) from consultation c where c.patient_id = v.patient_id)
    -> and c.diagnosis_id in (1,2)
    -> and v.clinic_id = 361
    -> ;
+-----------------+----------+------------+-----------+---------------+--------------+--------------+---------------------------------------------+--------------------+-------------------+
| patient_name_en | visit_id | patient_id | clinic_id | date_of_visit | visit_status | diagnosis_id | diagnosis_name                              | date_of_assessment | assessment_result |
+-----------------+----------+------------+-----------+---------------+--------------+--------------+---------------------------------------------+--------------------+-------------------+
| ABC             |        1 | 361-9001   |       361 | 2017-03-03    | Active       |            1 | Diabetes mellitus with diabetic nephropathy | 2017-05-05         |             40.00 |
| XYZ             |        3 | 361-0361   |       361 | 2017-10-03    | Active       |            2 | E01 Diabetes mellitus with kidney disease   | 2017-03-10         |             30.50 |
+-----------------+----------+------------+-----------+---------------+--------------+--------------+---------------------------------------------+--------------------+-------------------+
2 rows in set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql तालिका में अधिकतम मान पंक्ति का चयन कैसे करें

  2. सम्मिलित तालिका से परिणामों को एक पंक्ति तक सीमित करें

  3. हाईचार्ट्स मल्टी लाइन ग्राफ

  4. कैसे सुवक्ता के साथ Laravel में AUTO_INCREMENT सेट करने के लिए?

  5. जब आपके पास MySQL या PostgreSQL में टेक्स्ट फ़ील्ड है, तो क्या आपको इसे एक अलग टेबल में रखना चाहिए?