如何使用两个不同的别名检索相同的列?

时间:2013-09-30 10:22:12

标签: mysql sql

我有一个名为'答案'的表,其中有四列,其中添加了正排名和负排名的答案,我希望找到具有不同别名的答案,以便用正排名回答,并用负排名回答。有没有办法检索具有两个不同别名的相同列?

id  answer  rank  question_id

1   Yes      1       1
2   No       2       1
3   True    -2       2
4   False   -1       2

我希望以逗号分隔列表的形式得到这个答案我试过这个但没有成功。

SELECT CASE WHEN a.rank > 0 THEN GROUP_CONCAT(a.answer)  END AS answer,
       CASE WHEN a.rank < 0 THEN GROUP_CONCAT(a.answer)  END AS matrix
FROM answers a.

2 个答案:

答案 0 :(得分:1)

select group_concat(case when rank > 0 then answer end) as pos_answers,
       group_concat(case when rank < 0 then answer end) as neg_answers
from answers

答案 1 :(得分:1)

您可以尝试以下操作:

SELECT GROUP_CONCAT(IF(rank>0,answer,NULL)) as positive_ans, GROUP_CONCAT(IF(rank<0,answer,NULL)) as negative_ans FROM answers