Объединение чисел возвращает разные значения - PullRequest
0 голосов
/ 29 декабря 2018

Вывод моего кода показывает две разные вещи, которые не имеют смысла, основываясь на коде.Я сделаю все возможное, чтобы проиллюстрировать это, так как кажется, что я не могу загрузить изображения со своего компьютера в SO в управляемом режиме ...

state      cvmo       unique_code     total
IL         201701      95316          80,162.31
IL         201701      91304          21,315.69
IL         201,701     90035          63,989.21
IL         201701      96735          54,557.76

Итак, вы можете видеть, что столбец cvmo имеет два разных значения:201701 и 201,701, и я не уверен, почему.Выходные данные, которые я получаю для общего количества IL, примерно вдвое больше, чем должно быть, поэтому я задаюсь вопросом, умножается ли общее количество на два из-за этого.Кроме того, только каждый уникальный_код связан только с 201701 или 201,701.

У меня есть таблица элементов с cvmo, взятая прямо из базы данных, и все они имеют форму 201701.

Далееследующий код, который используется в итоговой таблице:

,case when extract(month from svc_from_dt) < 10
        then trim(extract(year from svc_from_dt)) || '0' || trim(extract(month from svc_from_dt))
        else trim(extract(year from svc_from_dt)) || trim(extract(month from svc_from_dt))
        end as cvmo
/*This is also in the form 201701*/

Вывод, приведенный выше, выполняется при присоединении таблицы элементов к cvmo и к уникальному ключу элемента.

1 Ответ

0 голосов
/ 29 декабря 2018

Я не могу сказать, что случилось, но расчет для получения ГГГГММ слишком сложен, используйте вместо этого:

to_char(svc_from_dt, 'yyyymm') -- 'YYYYMM' string
...