簡體   English   中英

如何在 Oracle SQL 中僅對某些組織運行查詢條件

[英]How to run a query condition for only certain organizations in Oracle SQL

我有一個查詢,它具有從輸出中消除某些行的條件。 我只需要這個條件來運行兩個組織。 其余的它應該繞過條件並返回所有行。 這是查詢

        SELECT lines.customer_trx_id customer_trx_id,
               lines.unit_selling_price,
               lines.customer_trx_line_id customer_trx_line_id
           FROM mtl_units_of_measure uom,
                ra_customer_trx_lines_all lines,
                ra_customer_trx_all trx
        WHERE trx.customer_trx_id = lines.customer_trx_id
              AND trx.complete_flag = 'Y'
              AND lines.uom_code = uom.uom_code(+)
              AND lines.line_type = 'LINE'
              AND trx.customer_Trx_id =1
              AND lines.unit_selling_price <>0
              AND lines.description NOT LIKE '%PROM%DISCOUNT%'
              AND lines.description NOT LIKE '%TIER%DISCOUNT%'

最后兩個條件應該只對 orgs 1 和 2 運行,而不是對 org 3 運行。 org 的字段名稱是 org_id。

我不知道 org_id 屬於哪個表,所以我只是在下面將它添加為org_id 只是一些額外的 pharantesis 和OR條件可以做我認為的伎倆,只要確保org_id不包含空值:

SELECT lines.customer_trx_id customer_trx_id,
               lines.unit_selling_price,
               lines.customer_trx_line_id customer_trx_line_id
           FROM mtl_units_of_measure uom,
                ra_customer_trx_lines_all lines,
                ra_customer_trx_all trx
        WHERE trx.customer_trx_id = lines.customer_trx_id
              AND trx.complete_flag = 'Y'
              AND lines.uom_code = uom.uom_code(+)
              AND lines.line_type = 'LINE'
              AND trx.customer_Trx_id =1
              AND lines.unit_selling_price <>0
              AND 
             ( (lines.description NOT LIKE '%PROM%DISCOUNT%'
               AND lines.description NOT LIKE '%TIER%DISCOUNT%'
               and org_id in (1,2)) or 
               org_id not in (1,2)               
              )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM