2011-12-07 63 views
-2

我有一個包含「pcode」,「%in%」和「pstatus」等幾列的表。 例如:獲取列值等於該列的聚合值的記錄

pcode P_Name  completion subordinate   pstatus 
p123 inventory  10%   sanjay   progrssing 
p123 test   20%   komal   progrssing 
p124 asd   20%   ritika   progrssing 
p124 qwsdf   10%   asd    progrssing 

我想要得到的結果和不同的代碼具有最高complete%與另一列。所有字段都是文本。我正在使用c#和msaccess數據庫使用asp.net。

我在找什麼,結果是:

 
pcode P_Name  completion subordinate   pstatus 
    p123 test   20%   komal   progrssing 
    p124 asd   20%   ritika   progrssing 

回答

1

在數據庫方面,你必須篩選數據。下面的查詢應該可以幫助您與

SELECT t1.[pcode], t1.[P_Name], t.[completion], MAX(t1.[subordinate]) [subordinate], [pstatus] 
FROM [YOUR_TABLE] t1 
    JOIN 
    (SELECT [pcode], max([completion]) [completion] 
    FROM [YOUR_TABLE] 
    GROUP BY [pcode]) t 
    on t.[pcode] = t1.[pcode] and t.[completion] = t1.[completion] 
GROUP BY t1.[pcode], t1.[P_Name], t.[completion], t1.[pstatus] 

注:關於你的問題的binding一部分,你必須提供更多的信息,如果你wiling得到(準確)的答案。

+0

感謝您的回覆,但哪些類型的信息ü需要pls告訴我,當我執行查詢,並要求填寫paraeter的價值名稱,在我的tablecompletion是文本類型 – user1085240

+0

即時通訊使用visual stdio 2008與.net framwork 3.5.I m新我沒有數據庫中的更多信息 – user1085240

+0

您正在開發一個Web應用程序嗎?桌面應用程序?您是使用ORM還是普通的ADO.Net數據訪問功能?你必須在那裏幫助我... – nulltoken