SQL从可能有不同结果的同一列中收集数据

SQL从可能有不同结果的同一列中收集数据,sql,mariadb,Sql,Mariadb,我目前遇到的问题是,如果Contact.email不同,则两者都显示为NULL。如果我使用或而不是,它会同时获取两封电子邮件,但在不同的行中,因此它们是重复的 我想我需要分配别名,但我不知道如何分配 SELECT Item.brought, Contact.email AS SalesContact, Contact.email AS TechContact FROM Customer LEFT JOIN Contact ON Item.sales_id = Contact_id AND Ite

我目前遇到的问题是,如果Contact.email不同,则两者都显示为NULL。如果我使用或而不是,它会同时获取两封电子邮件,但在不同的行中,因此它们是重复的

我想我需要分配别名,但我不知道如何分配

SELECT Item.brought, Contact.email AS SalesContact, Contact.email AS TechContact
FROM Customer
LEFT JOIN Contact
ON Item.sales_id = Contact_id
AND Item.tech_id = Contact_id;
我想做的是将Item.will与存储在不同表中的两个可能的电子邮件地址相关联。 任何建议都是有充分根据的


非常感谢。

您正在阅读同一封电子邮件。您需要加入两次才能联系,如下所示:

SELECT Item.brought, SC.email AS SalesContact, TC.email AS TechContact
FROM Customer
LEFT JOIN Contact SC
ON Item.sales_id = SC.Contact_id
LEFT JOIN Contact TC
ON Item.tech_id = TC.Contact_id;

说明:您需要两个
联系人
记录,这两个记录不一定相同,因为您可以想象一个技术人员不在销售部门,另一个销售人员也不在技术部门。因此,您使用
项目加入销售人员。销售人员id
和技术人员使用
项目。技术人员id
您正在阅读同一封电子邮件。您需要加入两次才能联系,如下所示:

SELECT Item.brought, SC.email AS SalesContact, TC.email AS TechContact
FROM Customer
LEFT JOIN Contact SC
ON Item.sales_id = SC.Contact_id
LEFT JOIN Contact TC
ON Item.tech_id = TC.Contact_id;

说明:您需要两个
联系人
记录,这两个记录不一定相同,因为您可以想象一个技术人员不在销售部门,另一个销售人员也不在技术部门。因此,您使用
项目加入销售人员。销售人员id
和技术人员使用
项目。技术人员id
添加示例表数据,当前结果和预期结果。所有这些都是格式良好的text.MariaDB,并通过MySQL工作台运行SQL,如果这有区别的话。他为什么需要给我们数据?很明显,当且仅当他同时是该产品的销售人员和技术人员时,他就加入了一个家伙,这是少数。相反,他需要分别连接到两个联系人,这将在两个联系人相同时处理特殊情况。添加示例表数据、当前结果和预期结果。所有这些都是格式良好的text.MariaDB,并通过MySQL工作台运行SQL,如果这有区别的话。他为什么需要给我们数据?很明显,当且仅当他同时是该产品的销售人员和技术人员时,他就加入了一个家伙,这是少数。相反,他需要单独加入两个联系人,当他们相同时,这将处理特殊情况。太好了,谢谢!!太好了,谢谢!!