Sql WHERE子句,可能很简单,但我看不见

Sql WHERE子句,可能很简单,但我看不见,sql,where-clause,Sql,Where Clause,我有一个SQL where子句问题,希望您能帮助我。我正在尝试筛选产品数据库查询的结果,以不检索库存接收日期大于01/10/19的指定产品类型,如果数据库中的产品类型的另一个日期小于01/10/19,则还应将其包括在结果中 在下面的示例中,我不希望SQL显示任何产品类型为446且产品接收日期大于等于2019年10月1日的产品。因此,批号为AE0152的乳制品我不想包含在结果中,但批号为AE0142的乳制品我想包含在结果中 我希望这是有道理的。我尝试了几种不同的组合,但似乎没有任何效果 任何帮助都

我有一个SQL where子句问题,希望您能帮助我。我正在尝试筛选产品数据库查询的结果,以不检索库存接收日期大于01/10/19的指定产品类型,如果数据库中的产品类型的另一个日期小于01/10/19,则还应将其包括在结果中

在下面的示例中,我不希望SQL显示任何产品类型为446且产品接收日期大于等于2019年10月1日的产品。因此,批号为AE0152的乳制品我不想包含在结果中,但批号为AE0142的乳制品我想包含在结果中

我希望这是有道理的。我尝试了几种不同的组合,但似乎没有任何效果

任何帮助都将不胜感激。 谢谢


您可以按照以下方式进行操作:

挑选* 来自产品 其中ProductId 446-获取所有不是446的产品 或者ProductId=446,并且记录日期<日期'2019-10-01'-获得某些446产品 更新

挑选* 来自产品 哪里 产品类型446或-获取所有非446产品 记录日期<日期“2019-10-01”-获取所有符合日期限制的产品
这将阻止prod_type=446和date>='2019-10-01'为真的行,我认为这正是您所要求的。

您可以这样做:

select * from table_name where product_received_date < '2019-10-01'
更新

根据数据库更改日期格式,如Y-m-d或d-m-Y。 如果产品接收日期为字符串类型,则在where子句中以相同格式指定日期。

选择* 来自产品
ProductId 446和rec_date>date'2019-10-01'

您使用的RDBMS有哪些:oracle、mysql、sql server。。。?请在您的问题中添加相关标签。此外,请向我们展示您对此示例数据的预期结果。简单的WHERE ProductReceivedDate<'20191001'可以做到这一点,但我相信您将日期存储为字符串。您好,不幸的是,这将仅排除446型产品或包含日期<2019年10月1日的446型产品。我需要检索除日期大于2019年10月1日的446型产品以外的所有产品。啊,好的,我一定是误读了。我认为在这种情况下,您可以将WHERE子句更改为446类型或rec_dateselect * from table_name where product_received_date < '2019-10-01'
select * from table_name where product_received_date < '2019-10-01' || product_type = 446