Sql 通过进一步检查修改select以排除具有类似列名的单独表中的值
统计8条记录。工作正常,但需要进一步检查。我下面的尝试超过了一千次,所以没有正常工作。我想这是因为res_sear也有一个“ID”列。我该怎么做?下面应该像上面一样计算8,但检查并排除res_sear.position='X'的记录Sql 通过进一步检查修改select以排除具有类似列名的单独表中的值,sql,oracle,Sql,Oracle,统计8条记录。工作正常,但需要进一步检查。我下面的尝试超过了一千次,所以没有正常工作。我想这是因为res_sear也有一个“ID”列。我该怎么做?下面应该像上面一样计算8,但检查并排除res_sear.position='X'的记录 SELECT count(res_c.id) FROM res_c WHERE id = '5552'; 我需要加入吗?正确的方法是什么?您在外部查询中缺少res\u c和res\u sear之间的连接条件。只需在可以连接两个表的列中添加连接条件,您就可以了。在外
SELECT count(res_c.id) FROM res_c WHERE id = '5552';
我需要加入吗?正确的方法是什么?您在外部查询中缺少res\u c和res\u sear之间的连接条件。只需在可以连接两个表的列中添加连接条件,您就可以了。在外部查询中缺少res_c和res_sear之间的连接条件。只需在可以连接两个表的列中添加一个表,就可以了。您可以像这样进行
左连接
SELECT count(res_c.id)
FROM res_c, res_sear
WHERE res_c.id = '5552'
AND res_sear.id NOT IN
(SELECT res_sear.id FROM res_sear WHERE res_sear.position = 'X');
(或)如下图所示
SELECT count(res_c.id)
FROM res_c
left join res_sear
on res_c.id = res_sear.id
and res_sear.position = 'X'
WHERE res_c.id = '5552'
AND res_sear.id is null;
选择计数(资源id)
从res_c加入res_sear
在res_c.id=res_sear.id上
其中res_c.id='5552'
和res_sear.position'X';
你可以像这样做左连接
SELECT count(res_c.id)
FROM res_c, res_sear
WHERE res_c.id = '5552'
AND res_sear.id NOT IN
(SELECT res_sear.id FROM res_sear WHERE res_sear.position = 'X');
(或)如下图所示
SELECT count(res_c.id)
FROM res_c
left join res_sear
on res_c.id = res_sear.id
and res_sear.position = 'X'
WHERE res_c.id = '5552'
AND res_sear.id is null;
选择计数(资源id)
从res_c加入res_sear
在res_c.id=res_sear.id上
其中res_c.id='5552'
和res_sear.position'X';
您不应该在FROM
子句中包含res\u sear
。而是:
SELECT count(res_c.id)
FROM res_c JOIN res_sear
on res_c.id = res_sear.id
WHERE res_c.id = '5552'
AND res_sear.position <> 'X';
在FROM
子句中不应该有res\u sear
。而是:
SELECT count(res_c.id)
FROM res_c JOIN res_sear
on res_c.id = res_sear.id
WHERE res_c.id = '5552'
AND res_sear.position <> 'X';
这是ANSI 92系统的优点之一。如果不指定条件,res\u c
和res\u sear
是如何相关的,我们就无法编写连接?如果是通过两个表中的id
列进行查询,则查询没有多大意义;您希望id
是'5552'
还是同样的id
不在(子查询)中?这可以写得更简单,不需要不在或任何其他连接或反连接。请澄清。这是ANSI 92系统的优点之一。如果不指定条件,res\u c
和res\u sear
是如何相关的,我们就无法编写连接?如果是通过两个表中的id
列进行查询,则查询没有多大意义;您希望id
是'5552'
还是同样的id
不在(子查询)中?这可以写得更简单,不需要不在或任何其他连接或反连接。请澄清一下。我发誓我试过了,但没用!连一双好眼睛都比不上。谢谢大家的回答,但这似乎已经解决了问题。我发誓我试过了,但没用!连一双好眼睛都比不上。谢谢大家的回答,但这似乎已经解决了问题。