簡體   English   中英

如何將值傳遞到臨時表

[英]how to pass values to temp table

SELECT p1.*,
      (p1.opening_balance + p1.retained_now - p1.released_now -
       p1.clawbacked_amount - p1.arrears_amount) AS closing_balance
 FROM (SELECT p.channel_org_id,
              t.channel_name,
              p.aggregation_id,
              ((SELECT SUM(amount)
                  FROM t_agent_retention_balance
                 WHERE agent_id IN
                       (SELECT agent_id
                          FROM t_agent
                         WHERE channel_org_id = p.channel_org_id)
                   AND account_type = 5) -
               (SELECT SUM(commision)
                  FROM t_product_commision
                 WHERE aggregation_id < p.aggregation_id
                   AND channel_org_id = p.channel_org_id
                   AND commision_type_id = 1104) +
               (SELECT SUM(commision)
                  FROM t_product_commision
                 WHERE aggregation_id < p.aggregation_id
                   AND channel_org_id = p.channel_org_id
                   AND commision_type_id = 1110) +
               (SELECT SUM(commision)
                  FROM t_product_commision
                 WHERE aggregation_id < p.aggregation_id
                   AND channel_org_id = p.channel_org_id
                   AND commision_type_id = 1122) +
               (SELECT SUM(commision)
                  FROM t_product_commision
                 WHERE aggregation_id < p.aggregation_id
                   AND channel_org_id = p.channel_org_id
                   AND commision_type_id = 1123)
              ) AS opening_balance,
              (SELECT SUM(commision)
                 FROM t_product_commision
                WHERE aggregation_id = p.aggregation_id
                  AND channel_org_id = p.channel_org_id
                  AND commision_type_id = 1104) AS retained_now,
              (SELECT SUM(commision)
                 FROM t_product_commision
                WHERE aggregation_id = p.aggregation_id
                  AND channel_org_id = p.channel_org_id
                  AND commision_type_id = 1110) AS released_now,
              (SELECT SUM(commision)
                 FROM t_product_commision
                WHERE aggregation_id = p.aggregation_id
                  AND channel_org_id = p.channel_org_id
                  AND commision_type_id = 1122) AS clawbacked_amount,
              (SELECT SUM(commision)
                 FROM t_product_commision
                WHERE aggregation_id = p.aggregation_id
                  AND channel_org_id = p.channel_org_id
                  AND commision_type_id = 1123) AS arrears_amount
         FROM t_product_commision p, t_channel_org t, t_commision_type ct
        WHERE t.channel_id = p.channel_org_id
          AND p.commision_type_id = ct.commision_type_id
          AND p.aggregation_id =?
          AND p.comm_status <> 1
          AND p.channel_org_id = ?
        GROUP BY p.channel_org_id, t.channel_name, p.aggregation_id) p1

我想將值傳遞給? p1臨時表中的參數我該如何實現 我想傳遞p1.x的地方,如果我試圖在p1之后傳遞像p1.x = 12這樣的值,例如where p1.x=12 and p1.y=23這就是說p1.x是無效的標識符

我想你的意思是,您只想傳遞不同的輸入值來運行select。 這是您的操作方式:

select *
from <yourtable>
where <fieldname> = '&1';

如果通過用表名和字段名替換來運行此查詢,則將要求您提供&1的值。 每次重復查詢時,此值都可以不同。

暫無
暫無

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

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