Проверьте пример ниже. Попытка сделать SQL-запрос, который будет работать в базе данных Derby - PullRequest
0 голосов
/ 27 августа 2018

У меня есть две таблицы.

Таблица 1

Name Month Hours
A    5     2
B    20    1
C    30    5
B    4     6
A    6     3

Таблица 2

Name    Hours2
A       5
B       6
A       8

Таблица результатов

Name    Hours   Hours2  month
A       2       13      5
A       3       13      6
B       1       6       20
B       6       6       4

Итак, здесь происходит объединение обеих таблиц, при условии, что Name совпадает. И на отдельной таблице должно быть сгруппировано, чтобы удалить несколько записей, но если я это сделаю, тогда нужно использовать агрегирующую функцию там.

Использование агрегатной функции в часах и часах2 даст большую ее часть, но если я хочу видеть значения полей месяца как уникальные значения для него, то это невозможно по группам, и попытка сделать разбиение по сделала не работает, так как дерби его не поддерживает

Я не могу сделать запрос, который может сделать выше.

1 Ответ

0 голосов
/ 27 августа 2018

Я думаю, что ниже будет работать для вас

select t1.Name,t1.Hours,t2.Hours2,t1.month from  Table1 t1 
inner join                                           
( SELECT  
  Name,SUM(Hours2)  as Hours2
  from Table2 group by Name     
 ) t2 on t1.Name=t2.Name
...