2015-04-29 45 views

回答

1

使用條件彙總:

SQL Fiddle

SELECT 
    id, 
    MAX(CASE WHEN t = 'R' THEN value END) AS R_value, 
    MAX(CASE WHEN t = 'Q' THEN value END) AS Q_value 
FROM YourTable 
GROUP BY id 
1

您可以使用maxmingroup by擺脫null值和彙總行具有相同id

select id 
    , min(case when t = 'R' then value end) as R_value 
    , min(case when t = 'Q' then value end) as Q_value 
from tbl 
group by id 
1

您可以輕鬆使用PIVOT表操作是這樣的:

SELECT 
    id, 
    R AS R_value, 
    Q AS Q_value 
FROM table1 AS t1 
PIVOT 
(
    MAX(value) 
    FOR t IN(R, Q) 
) AS p; 

這會給你:

| id | R_value | Q_value | 
|----|---------|---------| 
| 1 | 2412 | 98797 | 
| 2 |  132 | 7589 | 
+0

我們需要 'R' 如R_value?否則,它不起作用。謝謝 – user3601704

+0

不,你可以改爲* –