Объединить два выбора и пивот - PullRequest
0 голосов
/ 15 января 2020

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

Первый запрос:

SELECT IDSub 'Paciente'
      ,VISITNAME 'Visita'
      ,VCSTDTC 'Fecha de la visita'
      ,MSIParRig 'Tipo'
      ,MSIParR 'Valor'
      ,MSIParLef 'Tipo'
      ,MSIParL 'Valor'
      ,MSIParTot 'Tipo'
      ,MSITot 'Valor'
      ,MSIAsia 'ASIA'
      ,MSICom 'Comentarios'
FROM Table1 MSI
  INNER JOIN Table2 SV ON MSI.VisitId = SV.VISITID
  INNER JOIN Table3 VC 
        ON MSI.SITE = VC.Site AND MSI.PersonId = VC.PersonId AND MSI.VisitId = VC.VisitId
  INNER JOIN Table4 MSIG
        ON MSI.SITE = MSIG.Site AND MSI.PersonId = MSIG.PersonId AND MSI.VisitId = MSIG.VisitId
WHERE MSIOccur = 'Si'
GROUP BY IDSub, VISITNAME, VCSTDTC, MSIAsia, MSIParRig, MSIParR, MSIParLef, MSIParL, MSIParTot, MSITot, MSICom
Order By Case MSIParRig
    When 'LTR (máx 56)' Then 1
    When 'PPR (máx 56)' Then 2
    When 'UER (máx 25)' Then 3
    When 'LER (máx 25)' Then 4 End 

Это дает: enter image description here

Второй запрос:

SELECT IDSub 'Paciente'
      ,VISITNAME 'Visita'
      ,VCSTDTC 'Fecha de la visita'
      ,MSISpiInj 'Nivel neurológico'
      ,MSISpiD 'Vertebra'
FROM Table1 MSIG2
  INNER JOIN Table2 SV ON MSIG2.VisitId = SV.VISITID
  INNER JOIN Table3 VC 
        ON MSIG2.SITE = VC.Site AND MSIG2.PersonId = VC.PersonId AND MSIG2.VisitId = VC.VisitId
  INNER JOIN Table4 MSI
        ON MSIG2.SITE = MSI.Site AND MSIG2.PersonId = MSI.PersonId AND MSIG2.VisitId = MSI.VisitId
GROUP BY IDSub, VISITNAME, VCSTDTC, MSISpiD, MSISpiInj

Это дает: enter image description here

Я должен объединить два выбора, оставить первую строку для IDsub во всех столбцах, заголовок каждого столбца будет VISITNAME (это все посещения) и повернет все остальные значения из первого выбора, чтобы получить что-то вроде этого:

enter image description here

Вы можете мне помочь?

...