Как выполнить SQL-запрос к двум представлениям, которые связаны идентификатором, но имеют разные имена столбцов? - PullRequest
0 голосов
/ 31 января 2019

В настоящее время у меня есть 2 просмотра, в которых хранятся некоторые данные.

View1: включает пациентовPID и информацию об их счетах / счетах (высокий уровень)

View2: включает пациентовCID и соответствующие им позиции для информации об их счетах-фактурах (гранулярность View1)

Я пытаюсь выполнить запрос, в котором я смогу проверить некоторые данные.Например, -> я хочу увидеть пациентовPID = 1 и увидеть общую сумму, уплаченную, и присоединить ее к View2, чтобы увидеть более подробную информацию о счете-фактуре.

ожидаемые результаты

Спасибо.

Ответы [ 2 ]

0 голосов
/ 31 января 2019

В этом случае и PatientsPID, и PatientsCID действуют как ваш Ключ.Имена столбцов не обязательно должны быть одинаковыми, если данные, содержащиеся в них, связаны (одни и те же данные).

Select View1.PatientsPID, View1.AmountPaid, View2.[SomeColumnName]
From View1 inner join View2 on View1.PatientsPID = View2.PatientsCID
Where View1.PatientsPID = 1

Используйте Join в строке From, и вы должны установить, какие столбцы равны между двумя таблицами.Эти столбцы должны содержать одинаковые данные, чтобы иметь возможность связывать.Независимо от того, какие имена столбцов вы хотите выбрать, просто поместите имя таблицы перед ней, как показано выше, это предотвратит ошибки в случае неоднозначного имени столбца

0 голосов
/ 31 января 2019

Вам необходимо присоединиться к View1 и View2:

select v1.patientspid, v1.invoiceheader, v2.invoiceline, v2.amount
from view1 v1 inner join view2 v2
on v1.patientspid = v2.patientscid
order by v1.patientspid

Если вы хотите получить результаты для использования пациентом в качестве пациента

where v1.patientspid = 1

, а не order by

...