2015-04-20 43 views
0

我運行此查詢:如何用SQL查詢中的名稱替換列值?

SELECT type, COUNT(type) FROM "table" where id = 8 GROUP BY type; 

有了這樣的結果:除了

Arbitrary Name 3814 
Other name  341 
Test Name  328 

6 3814 
8 341 
5 328 

我想有這樣的事情,在那裏我可以指定名稱的類型列表6,我怎麼能得到它有一個自定義的名稱,如Test Column 6Fun Column 5?我正在使用postgres。

+2

通常人們使用這些名稱創建單獨的表格,並在查詢中與它聯接以顯示ID的人類可讀名稱 –

回答

1

SELECT CASE WHEN類型= X THEN 'SOME TEXT' ELSE 'OTHER TEXT' END, COUNT(類型)FROM 「表」 其中id = 8 GROUP BY型;

1

1日)如果您在您的記錄有很多的「類型」的,那麼你應該創建一個新表來存儲它的信息(typeid的,名稱,詳細),那麼你可以把它想:

例如

SELECT typegroup.typename,Count(typeid) from 'table',typegroup where 'table'.id=8 and typegroup.typeid='table'.typeid GROUP BY 'table'.type 

2日)如果你沒有「型」很多在你的記錄,那麼你可以嘗試這些聲明

SELECT 
    IF (type = '6','8','5',REPLACE(type, 'Arbitrary Name','Other name','Test Name')) AS type 
    FROM table 
    WHERE id = 8 
GROUP BY type