|
Помогите пожалуйста с простым, на первый взгляд, запросом
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть таблица продаж товаров: id продажи, id товара, name товара. CREATE CURSOR sale(sale_id n(5), tovar_id n(5), tovar_n c(10)) INSERT INTO sale(sale_id, tovar_id, tovar_n) VALUES (1, 100, 'Картошка') INSERT INTO sale(sale_id, tovar_id, tovar_n) VALUES (2, 100, 'Картошка') INSERT INTO sale(sale_id, tovar_id, tovar_n) VALUES (2, 200, 'Морковка') INSERT INTO sale(sale_id, tovar_id, tovar_n) VALUES (3, 100, 'Картошка') INSERT INTO sale(sale_id, tovar_id, tovar_n) VALUES (3, 200, 'Морковка') INSERT INTO sale(sale_id, tovar_id, tovar_n) VALUES (4, 100, 'Картошка') INSERT INTO sale(sale_id, tovar_id, tovar_n) VALUES (4, 300, 'Капуста') INSERT INTO sale(sale_id, tovar_id, tovar_n) VALUES (5, 200, 'Морковка') INSERT INTO sale(sale_id, tovar_id, tovar_n) VALUES (5, 300, 'Капуста') INSERT INTO sale(sale_id, tovar_id, tovar_n) VALUES (6, 200, 'Морковка') INSERT INTO sale(sale_id, tovar_id, tovar_n) VALUES (6, 300, 'Капуста') Пожалуйста подскажите - как с помощью SQL выбрать из неё количество продаж уникальных групп товаров, если заранее неизвестно что с чем в связке продавалось? К примеру, вот из этих данных продажа №1: картошка продажа №2: картошка+морковка продажа №3: картошка+морковка продажа №4: картошка+капуста продажа №5: морковка+капуста продажа №6: морковка+капуста должен получиться результат картошка кол-во продаж 1 картошка+морковка кол-во продаж 2 картошка+капуста кол-во продаж 1 морковка+капуста кол-во продаж 2 Я пишу на FoxPro, поэтому поздапросы в Group By использовать невозможно. Хотя, мне не понять - возможно ли на SQL осуществить такое, или выход - писать тормозную программу нахождения состава уникальных групп? HELP... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2012, 00:10 |
|
Помогите пожалуйста с простым, на первый взгляд, запросом
|
|||
---|---|---|---|
#18+
Какая версия ФоксПро? Наименования товара действительно надо брать из продаж - или уже есть отдельная таблица/курсор? Выход надо получить однима запросом, или можно выполнить несколько? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2012, 00:37 |
|
Помогите пожалуйста с простым, на первый взгляд, запросом
|
|||
---|---|---|---|
#18+
AndreTM, Foxpro9, enginebehavior 70 Есть отдельная таблица с наименованиями товаров. Можно в несколько запросов ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2012, 00:42 |
|
Помогите пожалуйста с простым, на первый взгляд, запросом
|
|||
---|---|---|---|
#18+
Вот примерное направление: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2012, 02:32 |
|
Помогите пожалуйста с простым, на первый взгляд, запросом
|
|||
---|---|---|---|
#18+
AndreTM, Спасибо большое! Позитивное направление! Подскажите - а минус в конкатенации строк - это аналог TRIM? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2012, 08:48 |
|
Помогите пожалуйста с простым, на первый взгляд, запросом
|
|||
---|---|---|---|
#18+
NeoEgorAndreTM,Подскажите - а минус в конкатенации строк - это аналог TRIM? Ну замени на '+', если не нравится :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2012, 09:27 |
|
Помогите пожалуйста с простым, на первый взгляд, запросом
|
|||
---|---|---|---|
#18+
Если без шуток, то "-" = TRIM + "+" ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2012, 09:37 |
|
Помогите пожалуйста с простым, на первый взгляд, запросом
|
|||
---|---|---|---|
#18+
NeoEgorПодскажите - а минус в конкатенации строк - это аналог TRIM? Нет. При использовании минуса концевые пробелы каждого слагаемого переносятся в конец результата конкатенации. Однако ведущие пробелы остаются на месте. Код: sql 1. 2.
С некоторой натяжкой можно рассматривать минус, как отсечение концевых пробелов в каждом слагаемом. То, что делает функция RTRIM(). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2012, 11:05 |
|
|
start [/forum/topic.php?fid=41&fpage=49&tid=1583345]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 257ms |
total: | 404ms |
0 / 0 |