繁体   English   中英

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

[英]How to Query the result set of another query in SQL

我有两个桌子。 一个是“列表”表,其中主键是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是列表表中的外键

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

在这种情况下,这就是分配给存储“西部成本仓库”的所有列表,即带有DocEntry'17'和'18'的列表

这是一个简单的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'
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM