我有一个场景,我可以获得两种类型的输入,但如果包含输入1或输入2或两者,结果是相同的。以下是我目前的查询。此查询从customer_id
和circuit
输入中检索数据库中的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并为每个场景提供两个不同的查询。
答案 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将检索客户的数据或电话号码。