左外部联接MySQL查询返回空结果集
我有两张桌子:s\u master和p\u master S_主表左外部联接MySQL查询返回空结果集,mysql,sql,left-join,Mysql,Sql,Left Join,我有两张桌子:s\u master和p\u master S_主表 s_id form_id ---- ------- 1 kit011 2 kit011 3 kit011 4 kit011 5 kit011 s_id staus ---- ------- 2 1 3 2 4 1 p_主表 s_id form_id ---- ------- 1 kit011
s_id form_id
---- -------
1 kit011
2 kit011
3 kit011
4 kit011
5 kit011
s_id staus
---- -------
2 1
3 2
4 1
p_主表
s_id form_id
---- -------
1 kit011
2 kit011
3 kit011
4 kit011
5 kit011
s_id staus
---- -------
2 1
3 2
4 1
问题陈述:
我必须从s_master表中获取s_id,该表在p_master表中的状态为1。这意味着我需要获取1,3,5
为此,我使用了以下查询
SELECT a.s_id FROM s_master a
left outer join p_master b on a.s_id!=b.s_id
where b.status=1 and a.form_id='kit011';
但它显示“空结果集”作为结果
请告诉我这个问题。提前谢谢。这样试试
SELECT s.s_id
FROM s_master s LEFT JOIN p_master p
ON s.s_id = p.s_id
WHERE s.form_id = 'kit011'
AND (p.s_id IS NULL OR p.status <> 1);
这样试试看
SELECT s.s_id
FROM s_master s LEFT JOIN p_master p
ON s.s_id = p.s_id
WHERE s.form_id = 'kit011'
AND (p.s_id IS NULL OR p.status <> 1);
这样试试看
SELECT s.s_id
FROM s_master s LEFT JOIN p_master p
ON s.s_id = p.s_id
WHERE s.form_id = 'kit011'
AND (p.s_id IS NULL OR p.status <> 1);
这样试试看
SELECT s.s_id
FROM s_master s LEFT JOIN p_master p
ON s.s_id = p.s_id
WHERE s.form_id = 'kit011'
AND (p.s_id IS NULL OR p.status <> 1);
您的回答中有打字错误(
s_-master
wass_-matser
和p_-master
wasp_-matser
),这是错误的。编辑以更正它。@BhavikShah感谢您的输入。如果您想从上面提到的第一个案例中获得输出,那么您必须在查询末尾应用order by子句。您不需要在第一个案例中使用order by子句来获得如上所示的输出吗?我很惊讶…@BhavikShah感谢你的仔细,但问题不在于订单,订单并不总是重要的。如果需要,它可以很容易地应用。答案的全部目的是显示外部联接的正确使用。但我还是根据您的反馈删除了输出。您的答案中有输入错误(s_-master
wass_-matser
和p_-master
wasp_-matser
),这是错误的。编辑以更正它。@BhavikShah感谢您的输入。如果您想从上面提到的第一个案例中获得输出,那么您必须在查询末尾应用order by子句。您不需要在第一个案例中使用order by子句来获得如上所示的输出吗?我很惊讶…@BhavikShah感谢你的仔细,但问题不在于订单,订单并不总是重要的。如果需要,它可以很容易地应用。答案的全部目的是显示外部联接的正确使用。但我还是根据您的反馈删除了输出。您的答案中有输入错误(s_-master
wass_-matser
和p_-master
wasp_-matser
),这是错误的。编辑以更正它。@BhavikShah感谢您的输入。如果您想从上面提到的第一个案例中获得输出,那么您必须在查询末尾应用order by子句。您不需要在第一个案例中使用order by子句来获得如上所示的输出吗?我很惊讶…@BhavikShah感谢你的仔细,但问题不在于订单,订单并不总是重要的。如果需要,它可以很容易地应用。答案的全部目的是显示外部联接的正确使用。但我还是根据您的反馈删除了输出。您的答案中有输入错误(s_-master
wass_-matser
和p_-master
wasp_-matser
),这是错误的。编辑以更正它。@BhavikShah感谢您的输入。如果您想从上面提到的第一个案例中获得输出,那么您必须在查询末尾应用order by子句。您不需要在第一个案例中使用order by子句来获得如上所示的输出吗?我很惊讶…@BhavikShah感谢你的仔细,但问题不在于订单,订单并不总是重要的。如果需要,它可以很容易地应用。答案的全部目的是显示外部联接的正确使用。但我还是根据你的反馈删除了输出。