我正在使用sql server management studio 2012.请一两分钟来了解这个问题,这非常重要:( 场景是: 我有三张桌子,Patient,patientAccount和Message。 现在,我首先将值插入表Patient和Message,然后一段时间后我将值插入PatientAccount Table.Now,问题出在软件中我使用的是sql)我有这个查询:
select
*
from Patient
join Message on Patient.GUID = Message.PatientGUID
where Message.GUID = "..Data
如果我在此查询中添加PatientAccount,例如
select
*
from Patient
join Message on Patient.GUID = Message.PatientGUID, PatientAccount
where Message.GUID = "..Data
在我将PatientAccount
表添加到Patient
和Message
表的同一时刻,必须向PatientAccount
表添加值,但我真正想要的是要采用的值查询patientAccount
表中是否有数据,如果{{1}}表中没有插入值,它应该只从Patient和Message表中获取值。
我希望所有这一切都在一个查询中。
答案 0 :(得分:0)
您可以使用outer join
来实现此目的,以便select查询不依赖于PatientAccount表。与下面的查询类似
SELECT *
FROM patient p
LEFT JOIN patientaccount pa
ON p.guid = pa.patientguid
LEFT JOIN message m
ON p.guid = m.patientguid
WHERE m.guid = "id"
此选择查询将始终返回PatientAccount表中的记录,但如果没有特定患者的数据,则PatientAccount中的列将为空