Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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
Sql Join语句,但只需要根据表列为空的位置获取数据_Sql_Mysql - Fatal编程技术网

Sql Join语句,但只需要根据表列为空的位置获取数据

Sql Join语句,但只需要根据表列为空的位置获取数据,sql,mysql,Sql,Mysql,我有这个查询语句,只想获取某列为空的记录(志愿者\u 2009.vention\u id) 表格是2009年志愿者,我想看看是否是空的:场馆id 以下是当前查询: SELECT volunteers_2009.id, volunteers_2009.comments, volunteers_2009.choice1, volunteers_2009.choice2, volunteers_2009.choice3, volunteers_2009.lname, volunteer

我有这个查询语句,只想获取某列为空的记录(
志愿者\u 2009.vention\u id

表格是2009年志愿者,我想看看是否是空的:
场馆id

以下是当前查询:

SELECT volunteers_2009.id, volunteers_2009.comments, 
   volunteers_2009.choice1, volunteers_2009.choice2, volunteers_2009.choice3, 
   volunteers_2009.lname, volunteers_2009.fname, volunteers_2009.venue_id, 
   venues.venue_name 
FROM volunteers_2009 AS volunteers_2009 
LEFT OUTER JOIN venues ON (volunteers_2009.venue_id = venues.id) 
ORDER by $order $sort
我正在尝试这样做:

SELECT volunteers_2009.id, volunteers_2009.comments, 
   volunteers_2009.choice1, volunteers_2009.choice2, volunteers_2009.choice3, 
   volunteers_2009.lname, volunteers_2009.fname, volunteers_2009.venue_id, 
   venues.venue_name 
FROM volunteers_2009 AS volunteers_2009 
LEFT OUTER JOIN venues ON (volunteers_2009.venue_id = venues.id) 
ORDER by $order $sort 
WHERE volunteers_2009.venue_id == ''

我如何只列出表(
志愿者2009
)中有空列(
场馆id
)的记录?如果
场馆id
字段可以包含空值,则可以使用
is
运算符进行比较,如下所示:

WHERE volunteers_2009.venue_id is null

空的意思是空的吗?如果
场馆id
字段可以包含空值,则可以使用
is
运算符进行比较,如下所示:

WHERE volunteers_2009.venue_id is null

WHERE子句在第二次查询中出现问题。它必须放在ORDERBY条款之前

此外,我不认为您有任何场馆id为空。也许您真正想要的是:

SELECT volunteers_2009.id, volunteers_2009.comments, 
    volunteers_2009.choice1, volunteers_2009.choice2, volunteers_2009.choice3, 
    volunteers_2009.lname, volunteers_2009.fname, volunteers_2009.venue_id, 
    venues.venue_name 
FROM volunteers_2009 
LEFT JOIN venues ON venue_id = venues.id
WHERE venues.id IS NULL
ORDER BY $order $sort
这将只带回与任何场馆都不匹配的2009年志愿者记录

或者这个:

SELECT volunteers_2009.id, volunteers_2009.comments, 
    volunteers_2009.choice1, volunteers_2009.choice2, volunteers_2009.choice3, 
    volunteers_2009.lname, volunteers_2009.fname, volunteers_2009.venue_id, 
    venues.venue_name 
FROM venues
LEFT JOIN volunteers_2009 ON volunteers_2009.venue_id = venues.id
WHERE volunteers_2009.venue_id IS NULL
ORDER BY $order $sort

查找没有志愿者的场馆。

在您的第二次查询中,WHERE子句出现问题。它必须放在ORDERBY条款之前

此外,我不认为您有任何场馆id为空。也许您真正想要的是:

SELECT volunteers_2009.id, volunteers_2009.comments, 
    volunteers_2009.choice1, volunteers_2009.choice2, volunteers_2009.choice3, 
    volunteers_2009.lname, volunteers_2009.fname, volunteers_2009.venue_id, 
    venues.venue_name 
FROM volunteers_2009 
LEFT JOIN venues ON venue_id = venues.id
WHERE venues.id IS NULL
ORDER BY $order $sort
这将只带回与任何场馆都不匹配的2009年志愿者记录

或者这个:

SELECT volunteers_2009.id, volunteers_2009.comments, 
    volunteers_2009.choice1, volunteers_2009.choice2, volunteers_2009.choice3, 
    volunteers_2009.lname, volunteers_2009.fname, volunteers_2009.venue_id, 
    venues.venue_name 
FROM venues
LEFT JOIN volunteers_2009 ON volunteers_2009.venue_id = venues.id
WHERE volunteers_2009.venue_id IS NULL
ORDER BY $order $sort

查找没有志愿者的场地。

当你说空时,你是指空字符串还是空字符串?它们是两种不同的东西如果你真的在一个空字符串上查询,那么你发布的查询应该可以工作。您能否提供更多有关当前查询不起作用的详细信息。假设viouses.id是主键,那么当志愿者\u 2009.viouse\u id为空时,您将无法加入该查询。您确定不想选择场馆名称为空的记录吗?即志愿者没有匹配的场馆?当您说空时,是指空字符串还是空?它们是两种不同的东西如果你真的在一个空字符串上查询,那么你发布的查询应该可以工作。您能否提供更多有关当前查询不起作用的详细信息。假设viouses.id是主键,那么当志愿者\u 2009.viouse\u id为空时,您将无法加入该查询。您确定不想选择Vincements.Vincement\u name为空的记录,即志愿者没有匹配的地点吗?是,空,但当我在CocoaMySQL中显示表时它不显示空是,空,但当我在CocoaMySQL中显示表时它不显示空