在日期之间选择空值

aij0ehis  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(240)

我有一个sp从一个表中选择一些值,还有一个左外连接,连接的条件是选择from和to日期。
我需要根据这两个日期选择数据。
这就是这个角色的样子

SELECT *// all the needed columns
 FROM  mytable            
     //other joins   
     LEFT OUTER JOIN myview ON              
        //some conditions         
        myview .soldDate between @fromdate and @todate

选择工作正常,它只选择数据b/w这些日期,但也选择空日期。

如何避免选择这些空值?

ulmd4ohb

ulmd4ohb1#

排除联接中没有 soldDate ```
SELECT * -- all the needed columns
FROM mytable
--other joins
LEFT OUTER JOIN myview ON -- conditions
(myview.soldDate IS NOT NULL AND myview.soldDate between @fromdate and @todate

你的问题不能解释为什么 `soldDate` 是 `NULL` . 可能是因为 `LEFT JOIN` ,但也是设计的。
如果是第一个,就使用内部连接。如果是故意的,请使用我上面的查询。
vaj7vani

vaj7vani2#

你可以试着让情况好转 where 而不是 on ,因为您正在使用 outer join ```
SELECT *// all the needed columns
FROM mytable
//other joins
LEFT OUTER JOIN myview ON
//some conditions
WHERE
myview.soldDate between @fromdate and @todate

或者只是使用 `INNER JOIN` 而不是 `LEFT OUTER JOIN` 

相关问题