如果在oracle SQL查询中还有其他问题

时间:2015-05-04 16:21:22

标签: sql oracle10g

我有一个场景,我可以获得两种类型的输入,但如果包含输入1或输入2或两者,结果是相同的。以下是我目前的查询。此查询从customer_idcircuit输入中检索数据库中的telephone

select customer.customer_id from circuits join customer on customer.cust_order = circuits.cust_order where circuitId= 'somecircuit'
union
select customer.customer_id from customer join telephone on telephone.number = customer.number where telephone = '34234242'

现在我需要第二个查询,如果输入电话不可用则不执行,反之亦然。有没有办法在查询本身中执行此操作?

我没有计划为此创建一个PL / SQL块,如果在sql中无法做到这一点我必须求助于Java并为每个场景提供两个不同的查询。

2 个答案:

答案 0 :(得分:0)

这会吗?

blog/posts/2015/05/

答案 1 :(得分:-1)

您可以在SQL查询中加入所有表,并让WHERE条件处理其余的:

SELECT customer.customer_id
来自电路JOIN客户ON customer.cust_order = circuits.cust_order
在电话上加入电话.number = customer.number
WHERE circuitId ='somecircuit'OR telephone ='34234242'

设置的电路ID将检索客户的数据或电话号码。