Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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
即使列为';什么是空的?在PHP/MYSQL中_Mysql_Left Join_Inner Join - Fatal编程技术网

即使列为';什么是空的?在PHP/MYSQL中

即使列为';什么是空的?在PHP/MYSQL中,mysql,left-join,inner-join,Mysql,Left Join,Inner Join,我有一个查询,显示子类别下的问题,以及类别下的更多问题,因为类别下有子类别。这是我的密码 SELECT a.* FROM question a LEFT JOIN category b on a.question_subcat = b.category_id WHERE b.parentcategoryid = $question 我如何包含以显示具有空值的问题_子类别,而不仅仅是具有值的问题_子类别?因为不是所有的问题都必须在子类别下,它可以在一个类别下,而不在任何子类别下,

我有一个查询,显示子类别下的问题,以及类别下的更多问题,因为类别下有子类别。这是我的密码

SELECT 
   a.* 
FROM question a 
LEFT JOIN category b on a.question_subcat = b.category_id 
WHERE b.parentcategoryid  = $question

我如何包含以显示具有空值的问题_子类别,而不仅仅是具有值的问题_子类别?因为不是所有的问题都必须在子类别下,它可以在一个类别下,而不在任何子类别下,这使得它为空。如何显示它?

左边的外部联接应该完全满足您的要求!如果删除WHERE条件,则会显示所有问题WHERE
question\u subcat
为空

无论如何,我并不完全理解您的需求,但是您需要在父表上进行筛选,或者提供一个替代where条件


试想一下:left out join只在表a的所有表行和表b的行存在的地方返回它们(意味着b.*为空)-毫无疑问。但是您的where使用
$question
=>b.parentcatoryid筛选b.parentcatoryid,如果找不到=>where筛选器将其清除。

尝试将
b.parentcategoryid=$question
移动到
ON
子句。这可能很复杂,但对于嵌套数据集来说非常灵活和快速(查询性能)。我不明白,先生,您能用代码格式回复吗@GIORGOSBETSOS$QUOTE包含什么:子类别id或主类别id。为什么要将子类别id存储在
QUOTE中。QUOTE_subcat
-从我的观点来看,问题应该只有一个parentcategory_id
左连接a上的类别b。QUOTE_subcat=b.category_id和b.parentcategoryid=$QUOTE
。这将返回所有问题,而不管是否存在相关的
类别