Hi,
gibt es eine Möglichkeit, dass man in MySQL mehrere Case gruppiert?
Beispiel: http://sqlfiddle.com/#!9/6a1759/
Aufbau der Datenbank
1 | ID |is_staff |is_reporter |is_superuser |state
|
2 | 123 |0 |0 |1 |a
|
3 | 456 |1 |0 |1 |a
|
4 | 789 |0 |1 |1 |a
|
5 | 123 |1 |0 |1 |d
|
6 | 456 |1 |1 |1 |d
|
aktuell habe ich das so:
1 | SELECT ID,
|
2 | CASE WHEN is_staff = 1
|
3 | THEN 'Yes'
|
4 | END AS 'is_staff?',
|
5 |
|
6 | CASE WHEN is_reporter = 1
|
7 | THEN 'Yes'
|
8 | END AS 'is_reporter?',
|
9 |
|
10 | CASE WHEN is_superuser = 1
|
11 | THEN 'Yes'
|
12 | END AS 'is_superuser?'
|
13 |
|
14 | from users_list
|
15 | where state = 'a'
|
16 | group by 1;
|
1 | ID |is_staff? |is_reporter? |is_superuser?
|
2 | 123 |(null) |(null) |Yes
|
3 | 456 |Yes |(null) |Yes
|
4 | 789 |(null) |Yes |Yes
|
Ginge das, dass man das so ausgegeben bekommt?
1 | ID |Status
|
2 | 123 |superuser
|
3 | 456 |staff, superuser
|
4 | 789 |reporter, superuser
|