Как мне получить столбец вместо строк в результате в sql

#mysql #sql

#mysql #sql

Вопрос:

МОЯ таблица похожа на приведенную ниже. Моя цель — получить общее количество баллов каждого человека (ГДЕ username = ‘Bobby’ ИЛИ username = ‘George’) и вернуть результат в столбцах, а не в строках. (Примечание: у меня в таблице более двух имен пользователей, и каждое из них содержит определенные точки, в этом случае я пытаюсь получить конкретные общие баллы на основе двух указанных людей).

 id   |   username   |   points
1        Bobby            1
2        George           3
3        Bobby            2
4        Bobby            2
5        George           1
 

Желаемые Результаты:

 column_1(Bobby)  |  column_2 (George)
       5                  4
 

Комментарии:

1. А что вы уже пробовали?

2. Вот руководство по транспонированию вашей таблицы. oracletuts.net/sql /…

Ответ №1:

Я думаю, что вместо того, чтобы получать его в результате sql, вы могли бы сначала получить свои строки и привязаться к некоторому datagridview, затем иметь другой datagridview, в который вы добавляете строки в виде столбца, а первый datagridview скрыт в форме…Я предполагаю, что вы пытаетесь отобразить форму…Мне очень жаль, если я ничем не смог вам помочь..

Ответ №2:

Используйте сводную таблицу для решения вышеуказанной проблемы.

Попробуй:

 select sum(case when name = "Bobby" then point end) as Bobby,
    sum(case when name = "George" then point end) as George from tablename;
 

http://sqlfiddle.com /#!2/dad5c/9