我有两个问题如下所示。
SELECT *
FROM `nhrd_members` B
WHERE Membership_Number LIKE 'A%'
AND `Member_FromDate` >= '2014-01-01'
AND `Member_FromDate` <= '2015-01-01'
产生98行..
SELECT *
FROM `nhrd_members` A
WHERE Membership_Number LIKE 'A%'
AND `Member_FromDate` >= '2014-01-01'
AND `Member_FromDate` <= '2014-05-14'
产生19行。
正如您所看到的,我正在从同一个表中提取数据。现在我需要的实际结果是98-19,即79行。
我需要从查询1中排除查询2的行,并获得81条记录。 任何帮助表示赞赏。
答案 0 :(得分:2)
SELECT *
FROM `nhrd_members` B
WHERE
Membership_Number LIKE 'A%'
AND (
`Member_FromDate` >= '2014-01-01'
AND `Member_FromDate` <= '2015-01-01'
)
AND NOT (
`Member_FromDate` >= '2014-01-01'
AND `Member_FromDate` <= '2014-05-14'
)
可以简化为:
SELECT *
FROM `nhrd_members` B
WHERE
Membership_Number LIKE 'A%'
AND (
`Member_FromDate` > '2014-05-14'
AND `Member_FromDate` <= '2015-01-01'
)
答案 1 :(得分:0)
您可以使用子查询 -
"