2017-07-27 35 views
0

- 我有兩個獨立表格中的數據,並且在提取數據時我需要添加條件來翻轉標誌,我們設置的方式是將數據提取到列中並翻轉登錄數據,但我不想要額外的列。當帳戶名稱以A3/A4/A5開頭時,翻轉標誌的條件是。你能幫我創造額外的條件來翻轉標誌嗎?如何在創建表格時翻轉標誌

enter image description here

Account Type Flip Sign Condition 
----------- --------- ---------  
Liabilities   -1 A3 
Equity    -1 A4 
Revenue    -1 A5 
Assets     1 A0 

Table1 

Account_Name Account_ID 
------------- ---------- 
A530003001001   235  
A331300002003   468  
A080001001000   255  
A293001004189   128  

Table2 

Account_ID  Balance 
---------- ----------- 
235    14700  
468    23500  
255   -226183.11  
128   130471.19  

預期查看

Account    Value 
------------- --------- 
A530003001001  -14700  
A331300002003  -23500  
A080001001000 -226183.11  
A293001004189 130471.19  
+0

您是不是缺少Table1中的帳戶類型? – mathguy

+0

第一張表僅供參考翻蓋應如何工作 – Rakesh

+0

您沒有任何意義。該視圖應該從Table2中獲取值,並根據帳戶類型將其翻轉或不翻轉。但是帳戶類型不在Table1中。那麼,你如何決定哪個數字翻轉,哪個不翻轉? – mathguy

回答

0

像這樣(沒有測試,因爲沒有提供任何CREATE TABLE/INSERT語句):

create view view_1 as 
select t1.account_name, f.flip_sign * t2.balance as value 
from table1 t1 join flipping_table f on substr(t1.account_name, 2) = f.condition 
       join table2   t2 on t1.account_id    = t2.account_id 
; 
0

都柱ACCOUNT_TYPE,Flip_Sign和條件與列Account_Name和。相同的表上 帳戶ID。如果是,那麼你可以使用下面的查詢。

SELECT t1.Account_Name AS Account, 
     t2.Balance * t1.Flip_sign AS Value 
    FROM Table1 t1 
INNER JOIN Table2 t2 
    ON t1.Account_ID = t2.Account_ID