09.11.2004, 16:12 | #1 |
Moderator
|
join
Почему курсор пуст??
PHP код:
|
|
09.11.2004, 16:26 | #2 |
Moderator
|
Потому, что вы запрашиваете count(RecId) и максимум, на что вы можете надеяться - это получить количкство записей, удовлетворяющих, наложенным условиям:
PHP код:
|
|
09.11.2004, 16:33 | #3 |
Moderator
|
Как быть?
|
|
09.11.2004, 16:36 | #4 |
Участник
|
Ну почему же, Андре.
Можно еще получить знание InventDimId, поскольку по нему идет группировка. для того, чтобы получать значение wMSLocationId надо включить его в группировки PHP код:
|
|
09.11.2004, 16:41 | #5 |
Moderator
|
PHP код:
|
|
09.11.2004, 16:44 | #6 |
Модератор
|
PHP код:
Георгий. |
|
09.11.2004, 16:47 | #7 |
Moderator
|
Цитата:
Ну почему же, Андре.
Можно еще получить знание InventDimId, поскольку по нему идет группировка. |
|
09.11.2004, 16:56 | #8 |
Участник
|
а черт...
спасибо, Андре, спасибо, George. |
|
09.11.2004, 17:41 | #9 |
Moderator
|
PHP код:
для двух полей -- вылетает ошибка -- таблица не содержит это поле! |
|
09.11.2004, 17:43 | #10 |
Moderator
|
Не смотрел в Аксапту, но подозреваю, что поля из разных таблиц. В этом случае group by надо писать два раза - для каждой таблицы.
|
|
09.11.2004, 18:45 | #11 |
----------------
|
Простите за глупый вопрос.... а по каким полям Вы их объединяите?
|
|
09.11.2004, 19:08 | #12 |
Moderator
|
Это как раз ответ будет глупым, а не вопрос:
Хотелось по полю InventDimId |
|
09.11.2004, 19:11 | #13 |
Moderator
|
Цитата:
Хотелось по полю InventDimId
p.s. Общий совет - щелкните на AOT правой клавишей мыши -> Найти. И посмотрите примеры использования select, group by и т.д. |
|
09.11.2004, 19:13 | #14 |
Moderator
|
Спасибо за совет!
|
|
09.11.2004, 20:08 | #15 |
Moderator
|
Повторюсь, т.к. запрос я так и не написал:
Есть две таблицы InventSum и InventDim. Мне бы хотелось иметь выборку состоящую ровно из всех записей InventSum при этом кажой записи сооьветсвует довесок из InventDim ( склад и ячейка) связь по InventDimId. Пока я остановился на таком запросе PHP код:
Но не видит дополнений из InventDim (Ячейку wMSLocationId) Буду благодарен любому совету! |
|
10.11.2004, 05:15 | #16 |
Участник
|
Блин, ты сразу 2 ошибки совершил в своём запросе. 8()
Во первых - exists join по своему определению НИЧЕГО не должен возвращать в подчинённой таблице! Это очевидно, ведь для каждой записи в главной таблице по идее в подчинённой может соотвествовать несколько записей, следовательно неизвестно какую именно надо возвращать, следовательно exists/notexists join ничего не должен возвращать тебе в подчинённых таблицах. Во вторых - в условии-связке ты написал where inventSum.InventDimId == inventSum.InventDimId. Если приглядеться к сей конструкции становится очевидно почему она не работает. Следующий код работает нормально: PHP код:
|
|
10.11.2004, 09:43 | #17 |
Moderator
|
Спасибо ОГРОМНОЕ!
Группировки мне не понадобятся, я наложу еще два условия!
Запрос как раз то что мне нужно! Единственно -- как оптимизировать цикл, что бы он шел не max(20,<20) а реальное число записей?? Еще раз спасибо! |
|
10.11.2004, 11:22 | #18 |
Участник
|
Re: Спасибо ОГРОМНОЕ!
Цитата:
...
Единственно -- как оптимизировать цикл, что бы он шел не max(20,<20) а реальное число записей?? ... Ну положим слово "оптимизировать" тут неуместно, да и логическая конструкция max(20,<20) всегда возвращает 20 (min было бы уместнее)....... тем не менее видимо ты хочешь добиться следующего: PHP код:
|
|
10.11.2004, 11:39 | #19 |
Moderator
|
Спасибо!
|
|