【发布时间】:2018-05-02 13:01:26
【问题描述】:
我正在处理一个 ASP.NET 页面,并使用搜索框从我的 Oracle 数据库中查询数据的网格视图。截至目前,我有一个参数文本框(“InventorySearchBox”)。这使我能够搜索一列。我添加了另一个参数,一个下拉列表(“InventoryDropDownList”),但我不知道如何在我的选择语句中使用它。基本上, ("InventoryDropDownList") 现在有两个列表项,但可能会增加,根据列表选择,我希望搜索框与不同的列相关。
所以:如果参数 ("InventoryDropDownList") = 'searchbyproductcode' 然后参数 ("InventorySearchBox") = tp.product_code else If parameter ("InventoryDropDownList") = 'searchbydescription' then parameter ("InventorySearchBox") like tic.product_description
TL;DR:下拉列表定义搜索框对应的列。这是我的代码,它在没有下拉列表的情况下工作。我尝试了 IF 语句、BEGIN、END 和 CASE 语句,但还没有弄清楚。非常感谢任何帮助。
SELECT tp.product_code,
tic.product_description,
til.location,
SUM(trt.inventory_balance) QTY,
trt.uom
FROM treceipt_transaction trt, tinventory_location til, tinventory_control tic, tproduct tp
WHERE trt.receipt_location = til.location AND
trt.category_no = tic.category_no AND
trt.product_description = tic.product_description AND
trt.uom_schedule_id = tic.uom_schedule_id AND
trt.uom = tic.uom AND
tic.category_no = tp.category_no AND
tic.product_description = tp.product_description AND
tic.uom_schedule_id = tp.uom_schedule_id AND
tp.product_code = :product_code AND
trt.inventory_balance <> 0
GROUP BY tp.product_code, tic.product_description, til.location, trt.uom
ORDER BY til.location
我曾尝试做类似的事情:
WHERE trt.receipt_location = til.location AND
trt.category_no = tic.category_no AND
trt.product_description = tic.product_description AND
trt.uom_schedule_id = tic.uom_schedule_id AND
trt.uom = tic.uom AND
tic.category_no = tp.category_no AND
tic.product_description = tp.product_description AND
tic.uom_schedule_id = tp.uom_schedule_id AND
IF(:InventoryDropDownList = 'searchbyproductcode' THEN
tp.product_code = :InventorySearchBox ELSE IF
:InventoryDropDownList = 'searchbydescription' THEN
tic.product_description = :InventorySearchBox) AND
trt.inventory_balance <> 0
提前致谢!
【问题讨论】:
标签: c# jquery sql asp.net oracle