单参数多条记录选择语句sql

时间:2016-02-17 18:00:17

标签: mysql sql

我正在尝试合并报告。我使用类似的sql语句有2个相同的报告。唯一的区别是输入参数的使用方式。

在第一个报告中,用户输入父号码(111),并选择111.000和111.999之间的所有子订单。如果用户输入父母和孩子(即111.013),则所有孩子都将从111.013返回到111.999。

声明1:

SELECT ordernumber
FROM table1
WHERE  ordernumber >= $P{Parameter1} 
and ordernumber < $P{Parameter1} +'1'

第二个语句仅选择给定父级和子级的单个订单(111.013)。

声明2:

  SELECT ordernumber
    FROM table1
    WHERE  ordernumber = $P{Parameter1} 

有没有办法将这些语句组合起来使用不同的输入来获得正确的输出?

1 个答案:

答案 0 :(得分:0)

如果再传入一个参数,可以说$ P {Parameter2},表示要使用的语句。如果$ P {Parameter2}为真,则使用语句1,否则使用语句2.可以使用以下查询。

SELECT ordernumber FROM table1 WHERE(ordernumber&gt; = $ P {Parameter1} 和ordernumber&lt; $ P {Parameter1} +1和$ P {Parameter2})或(ordernumber = $ P {Parameter1}和!$ P {Parameter2})