0

「回答」と呼ばれる 1 つのテーブルがあり、正と負のランキングの回答を追加する 4 つの列があり、正のランクの回答と負のランクの回答に対して異なるエイリアシングで回答を取得したいと考えています。2 つの異なるエイリアスで同じ列を取得する方法はありますか?

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.
4

2 に答える 2

1

以下を試すことができます:

SELECT GROUP_CONCAT(IF(rank>0,answer,NULL)) as positive_ans, GROUP_CONCAT(IF(rank<0,answer,NULL)) as negative_ans FROM answers
于 2013-09-30T10:28:24.650 に答える
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
于 2013-09-30T10:23:46.153 に答える