1

对不起,我不能用谷歌搜索这些问题,主要是因为我不知道搜索它的单词。

我还是 sql 新手,我必须解决一个问题 - 可以说我的表如下所示:

ID       DATUM       NAME
1114     20200101    Heins
1114     20190101    Heins
1114     20200101    Norma
1115     20200102    Dirk
1111     20200102    Alex

我想查看 ID 为 1114 且日期介于 20200101 和 20200131 之间的每个条目。所以我的语句如下所示:

SELECT
        *
FROM
        stackoverflowtable
        
WHERE 
DATUM BETWEEN '20200101' AND '202200131'
    AND ID = '1114' 
    OR ID = '1115'

由于“AND ID 1114”,这显示了正确的日期,但也显示了每隔一个日期

所以我需要一种方法来说明在 ID 的日期范围内搜索。

我确定它很简单,但我不能用谷歌搜索,因为缺乏正确单词的知识

4

1 回答 1

0

由于 where 子句的处理方式,您将获得介于 20200101 和 202200131 之间的结果,并且 id 为 1114,结果 id 为 1115。

在 where 子句中添加一些括号应该会强制它仅处理 id 字段或围绕 id 字段,并使日期成为其中任何一个的要求。

SELECT
        *
FROM
        stackoverflowtable
        
WHERE 
DATUM BETWEEN '20200101' AND '202200131'
    AND (ID = '1114' 
    OR ID = '1115')
于 2021-03-26T09:16:42.893 回答