我想做这个
SELECT *
FROM sales_order_header
WHERE order_reference LIKE @order_reference + '%'
AND ((@booked_in IS NULL) OR ( booked_in = @booked_in))
AND ((@depot_assigned IS NULL) OR ( IF @depot_assigned = 'Y' depot_code <> ' ' ELSE depot_code = ' ') )
Run Code Online (Sandbox Code Playgroud)
我相信你们都可以猜到OR(IF @dede_assigned等)位失败了.
我该怎么做这样的事情,或者我必须根据@depot_assigned参数的值将它作为两个单独的select语句来完成.
SELECT
*
FROM
sales_order_header
WHERE
order_reference LIKE @order_reference + '%' AND
((@booked_in IS NULL) OR ( booked_in = @booked_in)) AND
((@depot_assigned IS NULL) OR
( @depot_assigned = 'Y' AND depot_code <> ' ' ) OR
( @depot_assigned <> 'Y' AND depot_code = ' ') )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
118 次 |
| 最近记录: |