【问题标题】:Get records from one table to other table in sql serversql server 获取一张表到另一张表的记录
【发布时间】:2013-07-01 09:49:26
【问题描述】:

我正在为我的项目使用 sql server 2008。我有两个表名为 1.Customer_Invoice 2.Orders. 并且两个表都有Customer_Invoice_ID 列。在Customer_Invoice 表中为PK,在Orders 表中为FK

现在我的要求是获得top 100 records from Customer_Invoice 表和then for each Customer_Invoice_ID, i want all records from orders table。所以我想要 Customer_Invoice_ID 存在于 Customer_Invoice 表中的订单表中的所有记录。

首先,

Select top 100 * from Customer_Invoice

然后为每个Customer_Invoice_ID 获取来自Order table 的记录。

谁能指导我如何编写查询?

【问题讨论】:

    标签: sql sql-server-2008 join


    【解决方案1】:

    试试这个

    SELECT * FROM Orders WHERE Customer_Invoice_ID IN 
                (Select top 100 Customer_Invoice_ID from Customer_Invoice)
    

    【讨论】:

      【解决方案2】:

      试试这个 -

      SELECT t.* 
      FROM dbo.[Order] o
      OUTER APPLY (
           SELECT TOP 100 * 
           FROM dbo.Customer_Invoice
           WHERE t.Customer_Invoice_ID = o.Customer_Invoice_ID
      ) t
      

      【讨论】:

        猜你喜欢
        • 2017-08-23
        • 2013-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多