2013-02-18 5 views
1
I have data like 
    user Id   colA  colB 
    12    abc   NULL 
    13    123   NULL 
    13    NULL  567 

    I want output like 

    user Id   colA  colB 
    12    abc   NULL 
    13    123   567 
+0

Если идентификатор пользователя одинаковый для нескольких строк, будет только одно значение, отличное от NULL для каждого столбца? Если нет, то вам нужно решить, что делать со значениями, например. найти max, min, sum, ... –

ответ

3

Попробуйте это:

SELECT 
user_Id, MAX(colA) colA, MAX(colB) colB 
FROM tbl 
GROUP BY user_Id 
0

попробовать это

select user_id , 
if (colA = NULL , 0 , max(colA)) colA , 
if (colB = NULL, 0 , max(colB)) colB 
from a 
group by user_id 

выход будет:

USER_ID COLA COLB 
    12  abc  (null) 
    13  123  567 

DEMO SQLFIDDLE

Смежные вопросы