Sql 甲骨文精选1
我有两个表,一个包含许多信息的主表和一个子表,第一个表有一个FK。第二个表中有许多行具有相同的FK。如果第二个表的同一行中有两个值与此FK不同,我需要返回1(或true) 例: 此查询不起作用,返回以下消息: “单行子查询返回多行”Sql 甲骨文精选1,sql,oracle,select,Sql,Oracle,Select,我有两个表,一个包含许多信息的主表和一个子表,第一个表有一个FK。第二个表中有许多行具有相同的FK。如果第二个表的同一行中有两个值与此FK不同,我需要返回1(或true) 例: 此查询不起作用,返回以下消息: “单行子查询返回多行” 如何执行此操作?问题在于此子查询: (SELECT 1 FROM subtable WHERE qtd_send = qtd_received AND subtable_FK = MC.ID) as OK 我相信你想要的是: (case when exists (
如何执行此操作?问题在于此子查询:
(SELECT 1 FROM subtable WHERE qtd_send = qtd_received AND subtable_FK = MC.ID) as OK
我相信你想要的是:
(case when exists (SELECT 1 FROM subtable WHERE qtd_send = qtd_received AND subtable_FK = MC.ID)
then 1
else 0
end) as OK
我试过了,但它没有按我想要的方式工作,所以我将符号=改为,它工作了。谢谢你,戈登。
(case when exists (SELECT 1 FROM subtable WHERE qtd_send = qtd_received AND subtable_FK = MC.ID)
then 1
else 0
end) as OK