2017-04-24 122 views
-1
下面

叫我的表中的SQL「temp_table」,我想進行交易不到哪column_3是「現金AED」如何從SQL Server中的已分級數據檢索數字?

當前數據的數據:

Transaction No  Column_1 Column_2 Column_3 Price 
    1234    NULL  NULL NULL   0 
    1234    0  NULL NULL   0 
    1234    NULL  0  NULL   0 
    1234    NULL  NULL Cash AED  0 
    1234    NULL  NULL NULL   0  
    1234    NULL  NULL NULL   15 
    1234    NULL  NULL NULL   0 
    1234    NULL  NULL Cash AED  0 
    1234    NULL  NULL NULL   0  
    1234    NULL  NULL NULL   0 
    1234    NULL  NULL NULL   0 
    1222    NULL  NULL NULL   0 
    1222    0  NULL NULL   0 
    1222    NULL  0  NULL   0 
    1222    NULL  NULL Cash AED  0 
    1222    NULL  NULL NULL   0  
    1222    NULL  NULL NULL   25 
    1222    NULL  NULL NULL   0 
    1222    NULL  NULL Cash AED  0 
    1222    NULL  NULL NULL   0  
    1222    NULL  NULL NULL   0 
    1222    NULL  NULL NULL   0 

所需的輸出:

Transaction No  Column_3 Price 
    1234    Cash AED 15 
    1222    Cash AED 25 

記住同一個交易,在column_3中重複「Cash AED」的值。

+0

我在她應該返回自己想要的答案,但一對邏輯的更多解釋會有所幫助。 – SAS

回答

2

嗯。 。 。

select distinct transaction_no, column_3 
from t 
where column_3 = 'Cash AED'; 

這真的是你想要的嗎?

編輯:

隨着price,你可以使用聚合:

select transaction_no, column_3, max(price) as price 
from t 
where column_3 = 'Cash AED' 
group by transaction_no, column_3; 

本工程爲您所提供的數據。

+0

刪除';'末尾 –

+4

@KobyDouek。 。 。爲什麼?使用分號作爲語句終止符是最佳實踐。 –

+0

@Gordon Linoff,對不起,由於某種原因價格欄沒有出現在我的問題中,我現在編輯了 – 3MRAN

1

使用DISTINCT SELECT子句:

SELECT DISTINCT TransactionNo , Column_3 
    FROM yourtableName 
    WHERE Column_3 = 'Cash AED' 
+0

抱歉,由於某種原因價格欄沒有出現在我的問題中,我現在編輯了 – 3MRAN

1

的描述並不完全清楚,但是,這將給所需的輸出:

SELECT [Transaction No], MAX(Column_3) AS Column_3, MAX(Price) AS Price 
FROM temp_table GROUP BY [Transaction No] ORDER BY [Transaction No] 
相關問題