将查询结果与MS SQL中另一个表的参数组合在一起

时间:2015-05-28 13:56:34

标签: sql sql-server jointable

我有2个表,第1个表有域的域名和ID,第2个表有与该ID对应的客户信息。

使用域名,我需要获取该域的客户信息,这只能通过首先获取ID并使用该ID获取客户信息来完成。

我能够从域名成功获取客户信息,但问题是,我的最终结果必须包含客户信息和与之关联的域名(第二个表没有域名)。

我如何获得客户信息:

MobileCapabilityType.APP

所以最终结果必须有一个包含这样的列的表

SELECT ContactName, EmailAddress
FROM [Database].[dbo].[Customers]
WHERE CustomerID IN (
    SELECT CustomerID
    FROM [Database].[dbo].[Domains]
    WHERE DomainName IN (*list of domains*)
    )

我该怎么做?

3 个答案:

答案 0 :(得分:0)

如果两个表中都有JOIN,只需使用CustomerID即可:

SELECT c.ContactName, c.EmailAddress, d.DomainName 
FROM [Database].[dbo].[Customers] c
INNER JOIN [Database].[dbo].[Domains] d on d.CustomerID = c.CustomerID
WHERE DomainName IN (*list of domains*)

答案 1 :(得分:0)

SELECT c.ContactName, c.EmailAddress,d.DomainName
FROM [Database].[dbo].[Customers] c,
join [Database].[dbo].[Domains] d
on c.CustomerID = d.CustomerID
WHERE d.DomainName IN (*list of domains*)

答案 2 :(得分:0)

您需要在两个表之间加入,例如

SELECT 
    c.ContactName, 
    c.EmailAddress, 
    d.DomainName
FROM 
    Customers c
    INNER JOIN
    Domains d
    ON 
    c.CustomerID = d.CustomerID
WHERE 
    d.DomainName IN ('Google', 'Yahoo');