Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.015 c
3-1129522217
Vista
2005-10-17 08:10
2005.11.27
Люди добрые помогите....


14-1131190184
Слоник
2005-11-05 14:29
2005.11.27
Как?? как увеличить раздел с Win2003 Server?


6-1124018204
NikNet
2005-08-14 15:16
2005.11.27
Как сделать CHAT к внешнему WEB-Чату?


2-1131719390
searcher
2005-11-11 17:29
2005.11.27
Можно ли одним байтом закодировать 3-х значное десятичное число?


11-1107971012
Лёля
2005-02-09 20:43
2005.11.27
Пример для KOLWord





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский