Объединить две строки в таблице - идентичные данные, ожидать одно нулевое поле - PullRequest
0 голосов
/ 31 мая 2018

Я новичок в SQL, и мне было интересно, как я могу объединить две строки, которые почти идентичны, ожидать для одного поля.

Вот макет моей таблицы.

MODELNAME | PC Score | Rated Score | Prod Score | Temp  |  Temp1 | Temp2
Machine1  |  1234    |   2345      |  9000      |  NULL |  NULL  | NULL
Machine1  |   NULL   |   2345      |  9000      |  2356 |  2135  |  9123

Так что, в общем, я просто задаюсь вопросом, как объединить эти два.

Первые 4 поля всегда будут одинаковыми, но во второй записи будет отсутствовать "Оценка ПК" .. И послестолбец 4 - все значения в первой строке будут тогда ПУСТО (NULL) ...

Возможно ли это?

1 Ответ

0 голосов
/ 31 мая 2018

Вы можете использовать агрегацию:

select modelname, max(pc_score) as pc_score, max(rated_score) as rated_score,
       max(prod_score) as prod_score,
       max(temp) as temp, max(temp1) as temp1, max(temp2) as temp2
from t
group by modelname;

Тем не менее, эта проблема обычно возникает, когда у вас есть запрос агрегации, который не имеет правильной логики агрегации.Лучший подход - исправить этот запрос.Если это описывает вашу ситуацию, задайте другой вопрос и включите (возможно, упрощенную версию) используемый вами запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...