programing

mariadb의 SQL 쿼리

easyjava 2023. 9. 6. 23:06
반응형

mariadb의 SQL 쿼리

SQL 쿼리를 작성하여 의사가 가장 많은 병원을 찾고 해당 병원에서 모든 환자와 검진 날짜를 표시하는 작업이 있습니다.내 db에 관련된 관계는 다음과 같습니다.

  • 병원(병원)아이디, __병원, 장소, 전화번호)
  • Scheduling_Checkup (병원, 의사, 환자, Date_of_the_checkup)
  • 환자(환자)ID, 이름, 주소, 전화_번호)
  • 닥터(닥터)ID, 이름, 특수성)

나는 이것을.

 SELECT 
     hospital.Name,COUNT( Scheduling_Checkups.Doctor) AS 'number'
 FROM 
     hospital 
 JOIN
     Scheduling_Checkups ON hospital.HospitalID = Scheduling_Checkups.Hospital 
 GROUP BY 
     Hospital.Name, Scheduling_Checkups.Doctor 
 ORDER BY 
     number DESC

하지만 이것은 표에 나타난 의사들의 총 숫자만을 반환합니다.
Scheduling_Checkups, 그리고 만약 누군가가 두 번 나타났다면, 그것은 틀린 번호를 돌려줄 것이고, 예를 들어, 만약 9라고 쓰여 있고, 나는 한 명의 의사가 같은 병원에 두 번 나타났다면, 그것은 오답일 것이고, 정답은 8일 것입니다.

누가 이것에 어떻게 대답해야 할지 요점과 방향을 알려줄 수 있나요?

그리고 제가 시도한 질문은 우선적으로 part.is 을 찾으려 할 뿐입니다. 가장 많은 수의 의사들이 고용된 병원을 찾고, 같은 질문에서 환자들에게 같은 병원에 대한 검진 날짜를 보여주기 위해서요.

제한이 1인 쿼리 결과는 필요한 병원과 가입 스케줄링 및 환자 설정을 위한 where 값이 될 수 있습니다.

    select Patient.*, Scheduling_Checkups.*
    from Scheduling_Checkups 
    INNER JOIN Patient on Scheduling_Checkups.Patient = Patient.PatientID
    where Scheduling_Checkups.Hospital  = (

      SELECT hospital.HospitalID

      FROM hospital 
      join  Scheduling_Checkups ON hospital.HospitalID=   Scheduling_Checkups.Hospital 
      GROUP BY Hospital.HospitalID, Scheduling_Checkups.Doctor 
      ORDER BY  COUNT( Scheduling_Checkups.Doctor) DESC LIMIT 1
    ) 

언급URL : https://stackoverflow.com/questions/48466599/sql-query-in-mariadb

반응형