Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL查询“[…]其中字段不为空”显示具有空值的“字段”_Mysql_Sql - Fatal编程技术网

Mysql SQL查询“[…]其中字段不为空”显示具有空值的“字段”

Mysql SQL查询“[…]其中字段不为空”显示具有空值的“字段”,mysql,sql,Mysql,Sql,我一定是做错了什么,或者我不明白IS NOT NULL部分,它是否应该向我显示我特别希望不为NULL的包含NULL列的行?您在猜测时执行左外连接。当on中的条件为false时,将不会为该联接返回任何行,并且从该表引用的字段将为null 我认为您有几个选择,所有这些都取决于您的需要: 将此条件放在where条款中; 不要使用左外连接,只使用常规连接; 使用“合并”来默认值。 尝试使用下面构造的查询 select * from Tbl_EmployeeDetails where (name is

我一定是做错了什么,或者我不明白IS NOT NULL部分,它是否应该向我显示我特别希望不为NULL的包含NULL列的行?

您在猜测时执行左外连接。当on中的条件为false时,将不会为该联接返回任何行,并且从该表引用的字段将为null

我认为您有几个选择,所有这些都取决于您的需要:

将此条件放在where条款中; 不要使用左外连接,只使用常规连接; 使用“合并”来默认值。
尝试使用下面构造的查询

select * from Tbl_EmployeeDetails where  (name is not NULL or name <> 'null')

仅使用常规联接而不是左外联接:

SELECT guesses.*, games.* FROM games,guesses 
WHERE guesses.game_id = games.game_id 
AND games.real_score_team_1 IS NOT NULL AND games.real_score_team_2 IS NOT NULL ;

这应该可以解决问题了,你能复制并粘贴那部分代码吗?请,这很难阅读。两个同时否定的布尔逻辑是否需要and。更改and and and OR,并将这两个条件放在括号中。在左join ON子句中,列不是NULL条件,而不是在WHERE中,这就是为什么。-1粘贴一个难以辨认的屏幕截图。我刚刚通过SO的可用工具上传了它,我保存在我的计算机上的原件已经足够好读了。它必须是一个左连接,因为并非所有用户的所有游戏都与它们有关联,where子句解决了它,非常感谢。@AmandoFilipe:没问题。如果你的问题得到了回答,请不要忘记投票/接受你认为最有帮助的答案。这让我想到了另一个问题,是的,但它相当复杂而且有点长。@DoYouEvenLift:好的,但如果这个问题得到解决,请接受任何答案。这没有帮助,因为它没有解决问题。@PatrickHofman,这只是在评论中。应编辑该问题以澄清。我们不必看所有的评论。@ypercube:我知道,但是因为答案已经被别人否决了,而不是我,回答者可能正在等待OP的反馈。什么是定期加入?