Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
ВнизОпять туплю: 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 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c