|
|
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
Есть таблица Товары. Код товара Категория Товары Таблица Заказы Код товара Закано (число единиц) Они связаны. Надо сделать запрос, который бы вычисля число заказнных товаров по категориям товаров. Я выбираю В запрос поле Товары.Категория И делаю группировку И поле Заказы.Кодтовара и делаю Count. Он мне подчитывает скольок товаров было заказано, включая повторения. Т.е. если 2 раза заказали хлеб, он мне 2 раза считаетЮ, а мне надо 1 раз. Очень надо сейчас.... помогите.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 15:18 |
|
||
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
DISTINCT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 15:23 |
|
||
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
не помогает.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 15:27 |
|
||
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
Запрос в студию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 15:30 |
|
||
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
Нужно количество товаров или количество категорий??? Если количество товаров, то 2 - это правильно! И даже лучше не Count, а Sum. А если количество категорий, то никакой Count не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 15:33 |
|
||
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
Нужно списол категорий и рядом число заказанных товаров (Т.е. если в катгории 2 товара. И один из них заказывали 5 раз, а другой ни разу, то должно получистя не число 5, а число 1 - 1 товар был заказан в данной категории). Запрос получился такой SELECT DISTINCT Товары.Категория, Count([Заказы и продажи].[Код товара]) AS [Count-Код товара] FROM Товары INNER JOIN [Заказы и продажи] ON Товары.[Код товара] = [Заказы и продажи].[Код товара] GROUP BY Товары.Категория; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 15:38 |
|
||
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
Ну попробуй сделать два запроса : 1. Свяжи таблицы Товар и Заказы и измени связь, чтобы выбирались все КодаТовара из таблицы Товар (то ли левое объединение то ли правое, голова сейчас не варит). Выбири КодТовара, Категория и Заказано. Сгруппируй, а по полю Заказано - суммирование. (Sum(Nz[Заказано];0)) 2. Создай новый запрос на основе тока сделаного и считай кол-во по полю Sum_Заказано. З.Ы. Все эту шнягу можно и через подзапросы сделать (если они тебе нравяться) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 15:40 |
|
||
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
Спасибо! У меня получилось с двумя запросами!! !! !! !! Урраааа!!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 08:11 |
|
||
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
Получилось - это хорошо. Везет человеку. А меня сейчас гемор с запросиком на 3 страницы SQL-текста (около 90 полей). Причем каждое поле Sum(IIF(....))). Выглядит жутко. Сейчас опять мучать его буду (или он меня ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 08:45 |
|
||
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
Виктор, могу дать совет. Заведите таблицу или несколько, посадите в них части SQL'я и стройте его динамически. Тогда вся работа по редактированию SQL'я станет более понятной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 12:52 |
|
||
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
Спасибо Владим Саныч, но для меня построить такой запросик не проблема. Да и строить его надо один раз, проблема в изменении выражений (то NZ добавить, то новое ограничение в IIF). Все поля уникальны, легко ошибиться. Вот его мальнкая часть (так ради прикола, но с тайной надеждой вдруг кто-че дельное предложит PARAMETERS [prmYear] Long, [prmPlant] Long; SELECT tbl2ProductsFromPlantsWork.auPlant, tbl2ProductsFromPlantsWork.auProdName, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=1 And [auScenario]=2,nz([QuanityNatur],0),0)) AS Plan_01, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=1 And [auScenario]=1,nz([QuanityNatur],0),0)) AS Actual_01, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=1 And [auScenario]=3,nz([QuanityNatur],0),0)) AS ForeCast_01, Sum(IIf([MonthOrig]=1 And [auScenario]=1 And [YearOrig]=[prmYear]-1,nz([QuanityNatur],0),0)) AS PrevActial_01, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=2 And [auScenario]=2,nz([QuanityNatur],0),0)) AS Plan_02, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=2 And [auScenario]=1,nz([QuanityNatur],0),0)) AS Actual_02, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=2 And [auScenario]=3,nz([QuanityNatur],0),0)) AS ForeCast_02, Sum(IIf([MonthOrig]=2 And [auScenario]=1 And [YearOrig]=[prmYear]-1,nz([QuanityNatur],0),0)) AS PrevActial_02, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=3 And [auScenario]=2,nz([QuanityNatur],0),0)) AS Plan_03, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=3 And [auScenario]=1,nz([QuanityNatur],0),0)) AS Actual_03, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=3 And [auScenario]=3,nz([QuanityNatur],0),0)) AS ForeCast_03, Sum(IIf([MonthOrig]=3 And [auScenario]=1 And [YearOrig]=[prmYear]-1,nz([QuanityNatur],0),0)) AS PrevActial_03, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=4 And [auScenario]=2,nz([QuanityNatur],0),0)) AS Plan_04, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=4 And [auScenario]=1,nz([QuanityNatur],0),0)) AS Actual_04, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=4 And [auScenario]=3,nz([QuanityNatur],0),0)) AS ForeCast_04, Sum(IIf([MonthOrig]=4 And [auScenario]=1 And [YearOrig]=[prmYear]-1,nz([QuanityNatur],0),0)) AS PrevActial_04, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=5 And [auScenario]=2,nz([QuanityNatur],0),0)) AS Plan_05, Sum(IIf([YearOrig]=[prmYear] And [MonthOrig]=5 And [auScenario]=1,nz([QuanityNatur],0),0)) AS Actual_05, ... ... ... FROM tbl2ProductsFromPlantsWork WHERE (((tbl2ProductsFromPlantsWork.auTypeOperation)=3 Or (tbl2ProductsFromPlantsWork.auTypeOperation)=4)) GROUP BY tbl2ProductsFromPlantsWork.auKnaufPlant, tbl2ProductsFromPlantsWork.auProdName HAVING (((tbl2ProductsFromPlantsWork.auKnaufPlant)=[prmPlant])); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 13:58 |
|
||
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
Счастливчик из одной таблицы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 14:26 |
|
||
|
Еще Вопрос... Очень срочно! Легкий для вас...
|
|||
|---|---|---|---|
|
#18+
Да, не: не счаствливчик. Результат этого запроса участвует в другом запросе, причем есть как INNER JOIN так и LEFT JOIN так и RIGHT JOIN. В принципе над этими, блин, джоинами и бился. .... .... .... FROM ((tbl0ReportsAllFormer_Main INNER JOIN tbl0ReportsIndivFormer_Main ON tbl0ReportsAllFormer_Main.auMainForAllReports = tbl0ReportsIndivFormer_Main.auMainForAllReports) INNER JOIN ((tbl0GroupsDataForReports_Main RIGHT JOIN tbl0ReportsAllFormer_Sub ON tbl0GroupsDataForReports_Main.auGroupData = tbl0ReportsAllFormer_Sub.auGroupData) INNER JOIN tbl0ReportsIndivFormer_Sub ON tbl0ReportsAllFormer_Sub.auSubForAllReports = tbl0ReportsIndivFormer_Sub.auSubForAllReports) ON tbl0ReportsIndivFormer_Main.auMainIndiv = tbl0ReportsIndivFormer_Sub.auMainIndiv) LEFT JOIN (_01 RIGHT JOIN tbl0GroupsDataForReports_Sub ON [_01].auProdName = tbl0GroupsDataForReports_Sub.auProdName) ON tbl0GroupsDataForReports_Main.auGroupData = tbl0GroupsDataForReports_Sub.auID WHERE (((tbl0ReportsAllFormer_Main.HaveIndividReports)=True) AND ((tbl0ReportsIndivFormer_Sub.Criterion)=True) AND ((tbl0ReportsIndivFormer_Main.auKnaufPlant)=[prmPlant])) GROUP BY tbl0ReportsIndivFormer_Main.auMainIndiv, tbl0ReportsAllFormer_Sub.auMainForAllReports, tbl0ReportsAllFormer_Sub.ID_MainForAllReports, String$([NumberOfLevel]*3,".") & [NameOfRow_rus] HAVING (((tbl0ReportsAllFormer_Sub.auMainForAllReports)=[prm_auMainForAllReports])) ORDER BY tbl0ReportsIndivFormer_Main.auMainIndiv, tbl0ReportsAllFormer_Sub.ID_MainForAllReports; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 14:33 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32138117&tid=1681837]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 392ms |

| 0 / 0 |
