根据我的表映射
Company
可以有很多
Contacts
是的。所以
CompanyId
外键是否在
Contact
桌子。
接触
表有一列
ContactType
可能是
MainContact
(值1)
AccountsContact
(值2)
EmailContact
(值3)等。
我只想编写一个sql查询,根据第一个条件返回所有不同的公司以及联系信息
电子邮件联系人
(考虑最低
接触
主键
ID
)其中之一
单位
,但如果没有电子邮件联系人,则“主要”联系人的信息
示例行
-
公司1信息->联系人信息(第一个“电子邮件联系人”,如果找不到“主要联系人”)
-
公司2信息->联系人信息(第一个“电子邮件联系人”,如果找不到“主要联系人”)
例子
|CompanyId | CompanyName|
1 ABC Ltd
2 XYZ Ltd
3 CCC Ltd
|ContactId | ContactType | EmailAddress | CompanyId
1 1 jay@gmail.com 1
2 3 jim@gmail.com 1
3 3 ray@gmail.com 2
4 3 bill@gmail.com 2
5 1 sally@gmail.com 3
需要查询结果
CompanyID | CompanyName | ContactId | ContactType | EmailAddress | CompanyId
1 ABC Ltd 2 3 jim@gmail.com 1 - This loaded EmailContact over MainContact
2 XYZ Ltd 3 3 ray@gmail.com 2 - This considered to load first EmailContact
3 CCC Ltd 5 1 sally@gmail.com 3 - This loaded MainContact as no EmailContacts at all