我有2个表: s_master 和 p_master 。
S_master表
s_id form_id
---- -------
1 kit011
2 kit011
3 kit011
4 kit011
5 kit011
p_master表
s_id staus
---- -------
2 1
3 2
4 1
问题陈述:
我必须从 s_master 表中获取 s_id 表。这意味着我需要获取 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';
但结果显示“空结果集”。
请建议我查询。提前谢谢。
答案 0 :(得分:3)
以这种方式试试
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_id
FROM s_master s
WHERE form_id = 'kit011'
AND NOT EXISTS
(
SELECT *
FROM p_master
WHERE s_id = s.s_id AND status = 1
);