Удвоение записей

iceman

говнокодер
есть таблица DENOM_VALUES {
PAYMENT_ID, CURRENCY (RUR, USD), DENOM (int), DENOM_COUNT
}

и таблица DENOM {
CURRENCY (RUR, USD), DENOM (int),
}

в таблице DENOM разложены валюты и их номиналы которые бывают, справочник

в таблице DENOM_VALUES храниться кол-во этих номиналов, на платеж

все хорошо, но нужно вывести значения всех номиналов которые есть в таблице DENOM (т.к. как в DENOM_VALUES кладутся значения по факту, т.е. если дали только 500 руб одной купюрой, то кладется 1 запись), а которых нету - 0 значение...

пытаюсь сделать джоин по валюте и номиналу, не то, что мне нужно =(
 

iceman

говнокодер
т.е. на 1 платеж нужно для, например, рублей (10,50,100,500,1000,5000) - 6 записей, которых нету в таблице DENOM_VALUES - проставить 0

PAYMENT_ID - это НЕ уникальный ключ таблицы DENOM_VALUES, каждая запись только уникальна и все.
 

iceman

говнокодер
кароч сделал в виде функции возвращающая коллекцию
 

phprus

Moderator
Команда форума
А если сделать join по валюте, потом гроупбай валюта,номинал, а в выборку отправить max(DENOM_COUNT) (или sum, если в таблице DENOM_VALUES могут быть дубликаты для одной пары валюта-номинал), но перед join прицепить к таблице DENOM поле DENOM_COUNT с значением 0?

А поле PAYMENT_ID оно в правильной таблице? По логике оно из таблицы DENOM_VALUES?
 

iceman

говнокодер
таблица DENOM содержит:
RUR 10
RUR 50
RUR 100
RUR 500
RUR 1000
RUR 5000

DENOM_VALUES:
1 RUR 10 5
1 RUR 50 2
1 RUR 500 1
за 1 платеж = 650руб
2 RUR 50 3
2 RUR 10 1
за 1 платеж = 160руб

нужен такой результат
1 RUR 10 5
1 RUR 50 2
1 RUR 100 0
1 RUR 500 1
1 RUR 1000 0
1 RUR 5000 0
2 RUR 10 1
2 RUR 50 3
2 RUR 100 0
2 RUR 500 0
2 RUR 1000 0
2 RUR 5000 0
 

phprus

Moderator
Команда форума
А вот оно что. Нужно вывести для всех PAYMENT_ID. Я то думал, что для одного конкретного.
 
Сверху