Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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在左连接上显示空员工_Mysql_Sql - Fatal编程技术网

MYSQL在左连接上显示空员工

MYSQL在左连接上显示空员工,mysql,sql,Mysql,Sql,我很难在这个查询中显示所有空值 这是我的名片 我想看到的是,如果我理解正确,还可以向其他员工显示空值。 移除where条件。它将只返回1条记录,因为您正在显式筛选id=4 SELECT project_staff_assignment.taxemployee_id, taxemployee.nickname FROM taxemployee LEFT JOIN project_staff_assignment ON project_staff_assignment.taxemploy

我很难在这个查询中显示所有空值

这是我的名片


我想看到的是,如果我理解正确,还可以向其他员工显示空值。 移除where条件。它将只返回1条记录,因为您正在显式筛选id=4

 SELECT project_staff_assignment.taxemployee_id, taxemployee.nickname
  FROM taxemployee 
  LEFT JOIN project_staff_assignment ON project_staff_assignment.taxemployee_id = taxemployee.id

 SELECT 
CASE project_staff_assignment.taxemployee_id WHEN '4' THEN project_staff_assignment.taxemployee_id ELSE NULL END AS REQUIRED_FIELD,
taxemployee.id,`EmployeeNumber`, `Fullname`, `Nickname`,`Position`, `level`
  FROM taxemployee 
  LEFT  JOIN project_staff_assignment  ON project_staff_assignment.taxemployee_id = taxemployee.id

所做的是,选择所有记录,并通过使用
CASE语句
,如果value=4,则显示为4,否则显示为NULL。

可能是这样的

SELECT project_staff_assignment.taxemployee_id, taxemployee.nickname
FROM taxemployee 
LEFT JOIN project_staff_assignment ON project_staff_assignment.taxemployee_id = taxemployee.id
WHERE taxemployee.id = 4 OR project_staff_assignment.taxemployee_id IS NULL

不清楚你在问什么。显示一个您希望看到的示例用left outer join替换left join您只需要空值?当筛选器id=4时显示所有记录如何;并将所有其他记录显示给null@freddy:请参阅更新的小提琴:。这正是你想要的。我觉得这太棒了。。顺便问一下,我可以使用“开始”和“结束”列进行筛选。。我将使用开始和结束日期而不是员工id。。。例子。。。开始>='2014-08-01'@freddy:这是另一个问题,你需要进一步解释。我无法理解你到底需要什么。如果此答案对您有帮助,请单击此答案旁边的灰色勾号作为答案接受。我认为您指的是此问题。现在看看。同时,请接受这个答案。
SELECT project_staff_assignment.taxemployee_id, taxemployee.nickname
FROM taxemployee 
LEFT JOIN project_staff_assignment ON project_staff_assignment.taxemployee_id = taxemployee.id
WHERE taxemployee.id = 4 OR project_staff_assignment.taxemployee_id IS NULL