|
|
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
Запрос на выборку. Работает с 2мя столбцами - цена и количество. По введенной цене суммирует общее количество. Т.е. если цена 150 встречается в таблице 5 раз с разным количеством продаж, то запрос суммирует все количества. Так как запрос подчиненный, то нужно как-то прописать условие, что в случае "если такая цена в таблице не найдена - количество равно нулю". Как это сделать, не подскажете? А то пока цена есть - все работает нормально, а как-только цены нет - общий запрос перестает работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 16:46 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
Текст запроса в студию. (С) не помню кто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 16:48 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
Поначалу это говорил Влад Листев, но его убили. Теперь бессменный Леонид Якубович, поле чудес, страна дураков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 17:07 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
да там и текста-то особого нет, к тому же, если честно, я не знаю, как выцепить текст, поэтому: выглядит это так (21 кб) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 17:17 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
Открой запрос в режиме конструктора и выбери в левом верхнем углу "Режим SQL" . Появится текст запроса, копируй его ctrl+C и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 17:30 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
SELECT plus.PRICE, Sum(plus.QUANTY) AS [Sum-QUANTY] FROM plus GROUP BY plus.PRICE HAVING (((plus.PRICE)=[Forms]![просмотр склада]![ПолеСоСписком2])); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 17:31 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
Попробуй так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 17:48 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
Лучше SELECT plus.PRICE, Sum(plus.QUANTY) AS [Sum-QUANTY] FROM plus WHERE (((plus.PRICE)=[Forms]![просмотр склада]![ПолеСоСписком2])) GROUP BY plus.PRICE ; (делается повторным выводом поля в конструкторе, выбором флажка "условие" вместо группировки и все) _______ - т.е. Если с plus.PRICE не нашлось записей, то где-то надо получить 0? если обязательно вывести и такую запись - то надо пошаманить с источником (сворачиваемых) записей (например пополнив его левым джойном с полным справочником возможных цен). Но, наверное это не нужно. Как стоит задача более общО? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 17:52 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
2 RVI не-а, не работает :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 17:54 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
Возможно, сейчас прийдут знатоки SQL и предложат лучший вариант, но можно так: SELECT TOP 1 PRICE, [Sum-QUANTY] FROM [ SELECT 1 as qKey, plus.PRICE, Sum(plus.QUANTY) AS [Sum-QUANTY] FROM plus GROUP BY plus.PRICE HAVING (((plus.PRICE)=[Forms]![просмотр склада]![ПолеСоСписком2])) UNION SELECT 2, [Forms]![просмотр склада]![ПолеСоСписком2], 0 FROM plus ORDER BY qKey ]. As MuQuery; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 17:58 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
Предлагаю так: SELECT [Forms]![просмотр склада]![ПолеСоСписком2] AS PRICE, Sum(plus.QUANTY) AS [Sum-QUANTY] FROM [select PRICE, QUANTY from plus union select -1, 0 from OneLine]. AS plus WHERE (((plus.PRICE)=[Forms]![просмотр склада]![ПолеСоСписком2])) OR (((plus.QUANTY)=0)); Правда, при этом пришлось завести таблицу OneLine с одной записью (названия полей и их значения не важны). P.S. Это не Листьев и не Якубович, а на нашем форуме кто-то предлагал именно текст запроса в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 17:59 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч, тоже не работает :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 18:20 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч пишет "Ядро базы данных Microsoft Jet не может найти входную таблицу или запрос 'select PRICE, QUANTY from plus union select -1, 0 from OneLine'. Проверьте существование таблицы или запроса и правильность имени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 18:26 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
В твоем случае по-моему надо поправить Where, иначе, если цена будет найдена, вернется 2 записи. Или вместо "-1" написать Forms!...ПолеСоСписком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 18:27 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
Ой. Предыдущий пост был ВС адресован. + к нему. И добавить Group By ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 18:31 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
>>пишет "Ядро базы данных Microsoft Jet не может найти входную таблицу или запрос 'select PRICE, QUANTY from plus union select -1, 0 from OneLine'. Проверьте существование таблицы или запроса и правильность имени А само select PRICE, QUANTY from plus union select -1, 0 from OneLine работает? (если вставить в режим SQL в пустой бланк запроса?) Если нет - Вы невнимательно читали ВС (17:59) - надо вставить таблицу "OneLine". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 18:36 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
2 assa само - работает я догадалась, что нужно создать таблицу OneLine ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 18:39 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
Мне кажется, я не совсем точно объяснила, ЧТО мне нужно. Попробую еще раз. У меня есть таблица "plus". В ней есть столбцы PRICE и QUANTY соответственно. Мне нужно, чтобы запрос, получив из формы цифру, к примеру 150, нашел все вхождения этой самой 150 в столбце PRICE. И просуммировал все QUANTY, которые ей соответствуют. Это мой запрос и так делает. Загвоздка в том, что пользователь может ввести цифру, которой не будет в столбце PRICE, например - 20. И тогда нужно, чтобы результатом запроса была табличка: PRICE QUANTY 20 0 Потому что это подчиненный запрос. Их всего три, совершенно однотипных. А окончательный запрос собирает результаты с этих запросов и считает общее количество окончательно. Вот так: SELECT [otchet_sum].PRICE AS Выражение1, ([sklad_sum].[Sum-QUANTY]-[plus_sum].[Sum-QUANTY]-[otchet_sum].[Sum-QUANTY]) AS QUANTITY FROM otchet_sum, plus_sum, sklad_sum GROUP BY [otchet_sum].PRICE, ([sklad_sum].[Sum-QUANTY]-[plus_sum].[Sum-QUANTY]-[otchet_sum].[Sum-QUANTY]); И если один из подчиненных запросов не находит нужную цену, а другие находят, то запрос просто не срабатывает :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 18:45 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
А "." вы поставили(!!!), А скобки у вас квадратные? (и то и то - "недокументирванные особости синтаксиса) ...Ну, тогда сохраните "само" (например как plusQ) и вместо скобок и точек киньте это "само" в конструктор вместо plus и повторите Ваш изначальный запрос но уже с plusQ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 18:45 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
2 assa сделала, ошибка не появляется, но нужный результат не дает :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 18:50 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
2 assa и, кстати, перестал считать даже то, что считал :( т.е. если вхождение цены в таблице есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 18:52 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 18:52 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
2 (c)VIG "ошибка синтаксиса в предложении FROM" :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 18:58 |
|
||
|
работа с подчиненным запросом
|
|||
|---|---|---|---|
|
#18+
2VIG: [ ]. !!! 2 marina_spb сделайте по простому. Сохраните вложенный. (то что в [].) Стройте на нем обычный. Смотрите за тем, что у Вас получается на каждом этапе. Вложенный должен отличаться +1 строкой с 0 в QUANTY от select PRICE, QUANTY from plus , далее смотрите, как он у вас группируется -просто все делайте в конструкторе, как привыкли, и не будет проблем. ( Визуально я не вижу ошибок у ВС. казалось бы достаточно просто выделить и вставить. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 19:12 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32277262&tid=1677026]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
180ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
88ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 549ms |

| 0 / 0 |
