【发布时间】:2018-11-26 01:48:46
【问题描述】:
我想选择一个产品结束日期仅为 2018 年的网站。
有些网站对产品有多个结束日期。例如,对于站点 A,对于产品 P1,将有多个结束日期,2018、2019、2020。我想要一个产品结束日期为 2018 的站点
┌──────┬────────┬──────────┐ │ 网站 │产品│ EndDate │ ├──────┼────────┼──────────┤ │ A │ P1 │ 2018 │ │ A │ P2 │ 2018 │ │ A │ P1 │ 2019 │ │ B │ P2 │ 2018 │ │ B │ P1 │ 2018 │ │ B │ P2 │ 2019 │ │ A │ P1 │ 2018 │ │ C │ P2 │ 2018 │ │ C │ P1 │ 2019 │ │ C │ P2 │ 2020 │ └──────┴────────┴──────────┘根据样本数据,我需要的结果是:
第二排,A P2 2018 第 5 行,B P1 2018我写的查询什么也没给出,我知道是错的,但如果你想看一下:
select * from utk1
where EndDate not in (Select * from utk1 where EndDate = '2018')
AND EndDate not in (Select * from utk1 where EndDate = '2019')
【问题讨论】:
-
您的数据看起来完全一样吗?或者这只是一个简化的例子?那么您想要所有结束日期为 2018 年的产品吗?
-
它有相同类型的列,我简化了一点。我想要产品结束日期为 2018 年的网站,但问题是某些网站有多个相同产品的结束日期,例如 2019 年、2020 年。那么,如何仅获取合同结束日期为 2018 年的网站
-
也许我不明白,但它只是选择 * From ukt1 where EndDate in ('2018') 并且多年来只需选择 * From ukt1 where EndDate in ('2018', '2019' , '20xx')
-
您应该在问题中包含示例数据和期望的结果。
-
不应该为样本数据发布图片。它应该是文本,因此(还)不能发布图像的能力不是问题。数据图像通常没有帮助,因为其他用户无法与它们交互,或复制数据以进行测试。除非您希望其他用户手动输入您的所有数据?你不应该;)
标签: sql sql-server