如何在SQL中查询另一个查询的结果集

时间:2016-07-12 16:13:18

标签: sql

我有两张桌子。一个是' List'主键是DocEntry

的表
          DocEntry    U_ZSS_LISTNAME            U_ZSS_STARTDATE
            17      WKLY_CC_F_06_22_2016    2016-06-22 00:00:00.000
            18      WKLY_CC_F_06_22_2016    2016-06-22 00:00:00.000

另一张表是商店表

      DocEntry    U_ZSS_STORE     U_ZSS_STORENAME
          17         01           General Warehouse
          17         02           West Cost Warehouse
          18         02           West Cost Warehouse
          18         04           Consignmentl Warehouse

这些列表分配给不同的商店,其中DocEntry是List表中的外键

问题是我想要一个结果,我可以查询以获得分配给特定商店的所有列表' U_ZSS_STORENAME'。

这就是分配给商店西部成本仓库的所有列表'在这种情况下,它将是DocEntry' 17'和' 18'

1 个答案:

答案 0 :(得分:1)

这是一个简单的INNER JOIN

Select  L.*
From    List        L
Join    Stores      S   On  S.DocEntry = L.DocEntry
Where   S.U_ZSS_STORENAME = 'West Cost Warehouse'

另一种方法是使用EXISTS语句:

Select  *
From    List        L
Where Exists
(
    Select  *
    From    Stores  S
    Where   S.DocEntry = L.DocEntry
    And     S.U_ZSS_STORENAME = 'West Cost Warehouse'
)