Вниз
Скачать: CL | DM;

Опять туплю: left join ???   Найти похожие ветки 

← →
alex_1234 ©   (2005-11-08 17:56) [0]

Никак не могу сообразить: дано 2 таблицы: таблица продаж data - дата продажи

create table table1(
id char(30),
data date,
kolvo integer)

и справочник товаров, где begin_kolvo - первоначальное колво товара

create table table2
id char(30),
name char(30),
begin_kolvo integer)

данные следующие:

insert into table2(id,name,begin_kolvo) values ("1","ABC1",10);
insert into table2(id,name,begin_kolvo) values ("2","XYZ2",100);
insert into table2(id,name,begin_kolvo) values ("3","KLMN3",15);

и

insert into table2(id,data,kolvo) values(1,"10.10.2005",1);
insert into table2(id,data,kolvo) values(2,"10.10.2005",1);
insert into table2(id,data,kolvo) values(3,"10.10.2005",1);
insert into table2(id,data,kolvo) values(1,"10.10.2005",3);
insert into table2(id,data,kolvo) values(2,"10.10.2005",1);
insert into table2(id,data,kolvo) values(1,"11.10.2005",1);
insert into table2(id,data,kolvo) values(2,"11.10.2005",2);
insert into table2(id,data,kolvo) values(1,"11.10.2005",1);

Хочется получить примерно следующее:
id     |  name  |   begin_kolvo  | sum(kolvo)  
1      | XYZ2   |       100        |    2

если выборка была за 10.10.2005 по названию "XYZ2"
Копать надо где-то в направлении LEFT JOIN,  вот мои мучения, которые не дали нужного результат:

select table2.id, table2.name,table2.begin_kolvo,table1.kolvo,table1.kolvo from table2
left join table1 on table1.data="11.10.2005"
where table2.name like "%XY%"

при попытке сделать SUM(table1.kolvo) требуется сделать group by,  но вот с ним-то (group)  не как и не разберусь...


← →
ANB ©   (2005-11-08 18:01) [1]

select table2.id, table2.name,table2.begin_kolvo,sum(table1.kolvo) from table2
left join table1 on table1.data="11.10.2005"
where table2.name like "%XY%"
group by table2.id, table2.name,table2.begin_kolvo


← →
alex_1234 ©   (2005-11-08 18:05) [2]

Ругается следующим макаром:

When GROUP BY exists, every simple field in projectors must be in GROUP BY.


← →
Desdechado ©   (2005-11-08 22:03) [3]

вообще-то не вижу объединения таблиц...
где в LEFT JOIN объединение table1 с table2?


← →
alex_1234 ©   (2005-11-09 11:10) [4]

УРА!!! Заработало.
добавил связку таблиц в часть "ON"

select table2.id, table2.name,table2.begin_kolvo,sum(table1.kolvo) from table2
left join table1 on table1.data="11.10.2005" and table1.id=table2.id
where table2.name like "%XY%"
group by table2.id, table2.name,table2.begin_kolvo



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
14-1131175374
SergP
2005-11-05 10:22
2005.11.27
Помогите найти что-нить для RadioEthernet а


2-1131345089
John Doe
2005-11-07 09:31
2005.11.27
Область видимости и время жизни при рекурсии.


1-1130764690
Zelius
2005-10-31 16:18
2005.11.27
CustomDraw в TListView


14-1131439663
Vanya95
2005-11-08 11:47
2005.11.27
Быстрый перенос настроек одной уч.записи в другую в Windows XP


14-1130859331
kaif
2005-11-01 18:35
2005.11.27
Задача с конусом




   Наверх