簡體   English   中英

SQL中的計算字段

[英]calculated field in SQL

我需要添加一個名為“ calc”的字段,其計算公式為

if D.type_id = 1
then calc = calc + D.price
and if D.type_id = 2
then calc = clac - D.price      

我到底應該添加什么到下一個SQL代碼中呢?

SELECT T.type_name, D.*, I.name_inout
  FROM ((Type T
  INNER JOIN Daily D ON (T.type_id=D.type_id))
  INNER JOIN Incom I ON (I.id_inout=D.id_inout))
  WHERE D.today = DATE()
  Order by daily_id 

我真的不在乎該字段..我只是在乎“計算”的最終結果,因為我會將最終值傳遞給報表。

如果我正確閱讀了該問題,則需要一個案例說明。

SELECT 
    case D.type_id 
        when 1 then calc + D.price
        when 2 then calc - D.price
        else <<whatever your default is>>
    end as CalculatedPrice,
    T.type_name, D.*, I.name_inout
  FROM (
    (
        Type T
        INNER JOIN Daily D ON (T.type_id=D.type_id)
    )
  INNER JOIN Incom I ON (I.id_inout=D.id_inout))
  WHERE D.today = DATE()
  Order by daily_id 

如果要使用公式計算得出的價格總和,則需要一個包裝表,如下所示:

select sum(dtA.CalculatedPrice)
From (
  SELECT 
    case D.type_id 
        when 1 then calc + D.price
        when 2 then calc - D.price
        else <<whatever your default is>>
    end as CalculatedPrice,
    T.type_name, D.*, I.name_inout
  FROM (
    (
        Type T
        INNER JOIN Daily D ON (T.type_id=D.type_id)
    )
  INNER JOIN Incom I ON (I.id_inout=D.id_inout))
  WHERE D.today = DATE()
 ) dtA

暫無
暫無

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

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