子选择语句和内连接

时间:2016-01-08 08:33:40

标签: sql-server join reporting-services

我想使用SSRS创建报告但是我在使用INNER加入创建子选择语句时遇到问题。

代码是:

SELECT CustName
FROM [ServiceParts].[dbo].[tblCustomer]
INNER JOIN [ServiceParts].[dbo].[tblOrder] ON dbo.tblCustomer.CustNo = dbo.tblOrder.CustNo
(
    SELECT OrderID,
           OrderNo,
           PurchaseOrderNo,
           OrderType,
           UserId
    FROM [ServiceParts].[dbo].[tblOrder]
    WHERE UserId >= 30
    ORDER BY UserId
)

有人能帮助我吗?

这个想法是列出了客户,下面是他们所有的订单详情,但是我正在努力,因为我通常不会使用SQL

所需的输出是:

Customer 1

  

订单ID = 12212

     

订单号= 1212121212

     

采购订单291353

     

订单2 = 12213

(依此类推)

但是有两个表,我希望customer表中的客户名称与orders表中的详细信息一起加入。

1 个答案:

答案 0 :(得分:1)

如果正确理解,您可以在EXISTS子句中使用WHERE

SELECT CustName
FROM [ServiceParts].[dbo].[tblCustomer] c 
INNER JOIN [ServiceParts].[dbo].[tblOrder] o ON c.CustNo = o.CustNo
WHERE EXISTS
(
    SELECT 1
    FROM [ServiceParts].[dbo].[tblOrder] o2
    WHERE UserId >= 30 AND o2.id = o.id
    ORDER BY UserId
)