2015-03-31 42 views
1

返回值它只返回EIA的价值,而不是EIA 2我的SQL的情况下当不上第二列

(
    case 
    when tc.name = 'EIA' then tor.value else null 
    end 
) as EIA, 
(
    case 
    when tc.name = 'EIA 2' then tor.value else null 
    end 
) as EIA2 

这是此表结构来执行的Tor

测试值 EIA环评2阳性,正

ID Name EIA  EIA 2 
1 John POSITIVE no values?? 
+0

做你试过别人的“,而不是空 – 2015-03-31 07:31:05

+0

是的,试过 – 2015-03-31 07:31:58

回答

1

试试这个:

(
    CASE 
    WHEN tc.name IS NULL THEN '' WHEN tc.name = 'EIA' THEN tor.value 
    END 
) as EIA, 
(
    CASE 
    WHEN tc.name IS NULL THEN '' WHEN tc.name = 'EIA 2' THEN tor.value 
    END 
) as EIA2 
+0

它适用于环境影响评价,但对EIA 2的值仍然是零。我检查了我的数据库的EIA2有一个值,我不明白为什么它像这个BTW tor.value是连接'code'group_concat(tor.value SEPARATOR',')'代码' – 2015-03-31 07:36:36

+0

从哪里tor.values来自? – 2015-03-31 07:38:11

+0

是EIA2还是EIA 2? – 2015-03-31 07:40:00

0
(CASE 
     WHEN tc.name = 'EIA' THEN tor.value 
     WHEN tc.name = 'EIA 2' THEN tor.value 
     ELSE NULL 
    END) 

OR

(CASE 
     WHEN tc.name = 'EIA' THEN tor.value 
END) as EIA, 
(CASE WHEN tc.name = 'EIA 2' THEN tor.value 
    END) as EIA2 
+0

我已编辑我的帖子,请看看 – 2015-03-31 07:59:58