2016-12-02 66 views
-2
Select 
     b.subCusNo, c.companyName as [Subsidiary], b.equityInterest,b.relation 
    From 
     cusparentsub b, customerdetails c 
    Where 
     b.subcusNo = c.custNo 

    Select 
     b.parentCusNo,c.companyName as [Parent Company], b.equityInterest, b.relation 
    From 
     cusparentsub b, customerdetails c 
    Where 
     b.parentcusNo = c.custNo 

以上是两条SQL语句。是否有可能加入select语句,输出将在subcusno, companyname, parentcusno, companyname, equityinterest和关系数据表中?如何结合两个选择SQL语句?

我希望companyname列出现在subcusno列之后和parentcusno之后。两个公司名称数据都来自同一个表。这可能吗?

谢谢

+0

您可以使用一个联合声明 –

+0

我试过了,没有显示任何数据。 – mir

+0

唉,那丑陋的过时的A,B加入语法:( –

回答

1

您可能想要使用更新的JOIN语法。我用左加入父,而是取决于你真正想要的,你可以使用INNER JOIN

SELECT b.subCusNo, 
     c.companyName, 
     b.parentCusNo, 
     pc.companyName AS [Parent Company], 
     b.equityInterest, 
     b.relation 
FROM cusparentsub b 
JOIN customerdetails c ON b.subcusNo = c.custNo 
LEFT JOIN customerdetails pc ON b.parentCusNo=pc.subCusNo 
+0

谢谢你回答:),但它没有奏效。 :( – mir

+0

- 在最后一行* pc.subcusNo更改为pc.custNo,它的工作完美。非常感谢你:) – mir

+0

@mir“没有工作”不是一个错误消息。详细说明什么是正确的结果,以及由此查询提供的结果有什么问题。 –

0
SELECT b.subCusNo, b.parentCusNo,c.companyName as [Subsidiary], 
b.equityInterest,b.relation 
FROM cusparentsub b 
JOIN customerdetails c ON b.subcusNo = c.custNo 
JOIN customerdetails d ON b.parentcusNo = d.custNo 
+0

谢谢你回答:)但它没有工作。 – mir

+0

@mir“没有工作”不是错误消息。详细说明什么是正确的结果,以及由此查询提供的结果有什么问题。 –

+0

我已经得到正确的查询。对于这个查询,它只显示一列公司名称,而我需要两列公司名称。该查询正在工作,但它没有显示我需要的结果 – mir

0
SELECT cd.custNo, --What you want to see 
,ISNULL(c1.subcusNo,c2.parentcusNo) AS Matched_Customer_No 
FROM customerdetails cd 
    LEFT JOIN cusparentsub c1 
     ON c1.subcusNo = cd.custNo 
    LEFT JOIN cusparentsub c2 
     ON c2.parentcusNo = cd.custNo 
+0

谢谢你回答:),但它没有工作。 – mir

+0

@mir“不起作用”不是错误消息。详细说明什么是正确的结果,以及由此查询提供的结果有什么问题。 –

+0

我已经得到正确的查询。对于此查询,它将来自subcusno和parentcusno的数据组合在一起。我需要他们在单独的专栏。该查询正在工作,但没有显示我需要的结果 – mir