Hey, tengo esta consulta en PL/SQL:PL/SQL opcional donde
--Ver todos los atributos de las OL de una OS.
SELECT attr.swspattrdataid attr_data_id,
att.swname attribute_swname,
attr.swvalue attr_data_swvalue
FROM sw_sp_attr_data attr,
sw_sp_attribute att
WHERE swobjectid IN (SELECT swsporderlineid
FROM sw_sp_order_line
WHERE swsporderid = 21444963 --Orden
**AND swsporderlineid = a_number**
);
AND att.swspattributeid = attr.swspattributeid
--AND att.swname LIKE '%%' --Filtrar por nombre
tengo que tener el filtro entre ** Y a ser opcional, así que no importa si pongo un número allí la la consulta se ejecuta bien, ¿es esto posible?
Gracias!
La otra posibilidad es 'Y NVL (a_number, swsporderlineid) = swsporderlineid'. – angus
@angus: Siempre que 'swsporderlineid' nunca sea nulo (probablemente sea lo mismo suponer esto). –
@ Adam Paynter: Tienes razón. Cuando 'a_number es nulo y swsporderlineid es nulo', la condición a_horse_with_no_name (y la suya) devuelve true y la mía null. – angus