|
|
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
MDB Нужна идея Есть данные Таблица 1 КодДатаАктВыполнение101.01.04110102.01.04220201.01.04330 Таблица 2 КодДата п\пОплата105.01.045115205.01.045230 Можно ли с помощью запроса получить такую гуппировку КодДатаАктВыполнение Дата п\пОплата101.01.04110 05.01.045115102.01.04220 201.01.04330 05.01.045230 Крутила и так и этак Вижу выход заполнить через рекордсет, но боюсь, медленно работать будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 07:59:47 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Доброе утро, Ирча. Код: plaintext 1. 2. И никаких рекордсетов ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 08:10:30 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
- не надо, это просто выделить хотел, но не работает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 08:12:13 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Доброе утро Данные не совсем корректно привела Таблица 1 Код Дата Акт Выполнение 1 01.01.04 110 1 02.01.04 2 20 2 01.01.04 3 30 Таблица 2 Код Дата п\п Оплата 1 05.01.04 51 15 2 05.01.04 52 30 2 06.01.04 53 30 Надо Код Дата Акт Выполнение Дата п\п Оплата 1 01.01.04 1 10 05.01.04 51 15 1 02.01.04 2 20 2 01.01.04 3 30 05.01.04 52 30 2 06.01.04 53 30 Поэтому LEFT JOIN не поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 08:23:10 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
А если попробовать так: Оформляем 2 запроса, один с LEFT JOIN, другой - RIGHT JOIN, а потом делаем объеденение этих запросов ( UNION) ? Как такой вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 08:52:36 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Рачаев Олег - не надо, это просто выделить хотел, но не работает :) LEFT JOIN и в первом варианте не совсем помогает, ибо во второй строке нулы не получатся :( если в первой и второй таблице добавить счетчик внутри группы (Код), например так: http://www.sql.ru/faq/faq_topic.aspx?fid=214 (Q7) то мог бы помочь FULL JOIN, но его в Аксе нет, но можно на форуме пошукать как его сымитировать :) Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 08:53:07 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Разбивайте сложную задачу на этапы. 1. Получить в запросе список уникальных КОД из первой и второй таблиц. 2. Объединить их юнионом. 3. Еще раз отфильтровать уникальные дистинктом. 4. Полученный результат джоинить с первой и второй таблицами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 09:01:15 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Спасибо за советы. Попробую воспользоваться счетчиком А как на чсет рекордсета, кто делал записей много стоит связываться или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 09:24:49 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
a full join в Аксе нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 09:38:28 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
2 paparome, действительно Null-ей не получаеться, виноват - проглядел ... А насчет фул джойна: Можно попробовать похимичить через условие WHERE, правда сложно получиться ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 10:28:08 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Или я сошла с ума, или бури сегодня магнитные, ничего.... Пони бегает по кругу Попробовала все предложения результат ЗИРРОУ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 10:29:58 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
и в уме круги считает 1 mdb выложи в архиве с маленькими табличками - будем думать 2 реальное количество записей - ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 10:46:07 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
может тогда так? select * from table1 as a cross join table2 as b where (a.код=b.код or b.код in null) and (a.код=b.код or a.код in null) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 11:03:48 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Shurgenzможет тогда так? select * from table1 as a cross join table2 as b where (a.код=b.код or b.код in null) and (a.код=b.код or a.код in null) и в mdb cross join работает - а какая версия Access ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 11:09:47 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
вместо кросс джойна можно и просто запятую поставить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 11:12:17 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Shurgenzвместо кросс джойна можно и просто запятую поставить 1 возможно 2 предлагать непроверенное - даме ,не очень галантно ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 11:15:51 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Шугард: Согласен, однако, я же просто мысль предложил... дама, или не дама, учимся мы все, и дамы, и не дамы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 11:18:05 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
>Как сымитировать Full Join Union без All, а потом к нему присобачивать. Изврат, а что делать;-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 11:19:30 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
К тому же... разве есть разница между запятой и кросс джойном? я, чесс говоря, не встречал разницы меж тем и другим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 11:20:05 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Access 2003 cross и запятую пока не пробовала Прикладываю файл с двумя табличками Количество записей будет не более нескольких сотен за раз на даты будет условие (отбор за период) Помогите кто чем может (тут смайлик с большой лужей слез) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 12:07:34 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
2 paparome full join тут тоже не поможет - он перемножит количество записей с одинаковым кодом. А вот пронумеровать записи хорошо. Можно даже не в этом же запросе, а во временную таблицу. Ох, как интересно, да тут и индексов никаких нет. А без индекса их и пронумеровать толком не получиться. Хотя можно попробовать. Но скорость опять же позволит желать лучшего. В стандартном модуле: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Запросы: 1) Код: plaintext 3) Код: plaintext Код: plaintext 1. 2. 5) Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 12:44:02 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. можно как-нить заоптимизировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 12:59:08 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Ну на запрос(Запрос2) раз самой лениво ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:00:28 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
2Shark По датам объединять не надо, судя по примеру. 2ЛП Что это было? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:14:30 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Упс, точно. Скажи тогда словами, че надо то. Как оплата должна догадаться по какому она акту если их Н? Фифом? Они сами не знают чего хочут:^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:18:44 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
GeoЧто это было? :)) Запрос. А что еще это могло быть? Выдает что затребовано. Таблицы только называются Table1/2 вместо Таблица1/2, ну и поле п\п без слэша. Конечно, его бы упростить, но тогда придется на подзапросы бить Или Select From (Select) использовать Или еще как. Лениво красивости наводить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:18:45 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
2 ЛП "FROM Table1 INNER JOIN Table2 ON Table1.Код = Table2.Код" Не попадут записи с кодом, который есть только в одной из таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:20:06 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Не попадут записи с кодом, который есть только в одной из таблиц. А по приведенным данным не видно, что такие записи могут быть. Что попросили - то и сделал. (архив не скачивал) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:21:30 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
и даже если такие записи могут быть - не сказано как их обрабатывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:24:21 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Ну и я свое художество приложу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:26:17 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Лох Позорныйи даже если такие записи могут быть - не сказано как их обрабатывать Бог с ним, но количество записей с одинаковыми кодами будет перемножаться. Т.е. если в 1-й и 2-й таблицах по 2 записи с кодом "2", то на выходе их будет 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:27:34 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Тоже верно. И тоже непонятно, что же в таком случае хотят получить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:30:05 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
и ведь не придерешься... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:31:01 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. И чего париться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:33:40 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
2 alex2 От дат все-таки плясать не нужно, судя по примеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:41:41 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Что хотим получить: (как мне нравиться, когда меня во множественном числе поминают) Есть подрядчик Есть договор Есть работы, воплненненные по этому договору есть платежи произведенные по нему же Код Это ID договора Надо На любой отобранный период отобразить все платежи и все акты выполненных работ Отобразить их друг под другом не проблема, Код: plaintext 1. 2. 3. 4. 5. поэтому есть необходимость отобразить это выполнение платеж, причем количество выполнений и платежей в периоде хаотичное Спросибо за примеры попробую все по очереди ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:42:02 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
2 Shark Проглядел пост. Хотят, судя по всему, таблицу вида один счет - одна оплата. Зачем - ума не приложу, скорее всего, как переходный этап к другой постановке задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:43:35 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
>Но не по людски это Непонятно, как распределять платежи между этапами. По людски- показать ДВЕ таблички- отдельно акты, отдельно оплаты. Тк связи между ними нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:49:06 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
В Excel этот отчет надо делать, а не на SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:50:56 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Расказываю подробно, может я вообще не с той стороны подошла Вся информация по движению выполнения и оплаты хранится в одной таблице структура КодДоговора НомерАкта Выполнение Дата НомерПлатежки Оплата КодОбъекта КодСтатьиЗатрат и ток далее. Как правило, данные требуются по договору, поэтому гуппировкой собираются без проблем, за исключением такого отчета, как я привела выше. Такой отчет есть Данные по договору а главном, а внизу два подотчета, один отображает выполнение, второй платежи. Все было замечательно, Только возникло необходимость этот отчет иметь в Exsele И начались заморочки. Сгруппировать я могу только по коду договора Я запросами отбираю платежи за период и выполнение за период, а далее, как раз и надо обработать, чтоб платежи и выполнение встали рядом, и отсортировались по дате ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 14:01:16 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Так я и говорю, Excel в руки и вперед, ручками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 14:06:29 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
В смысле Excel.Application :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 14:12:07 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Бегаем по рекордсетам и заполняем Excel Добежали до договора, вывели про него все платежи и акты и тд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 14:13:21 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Можно и так, конечно, только это будет минут на дцать... Попробую Спасибо за поддержку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 14:31:48 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
>как раз и надо обработать, чтоб платежи и выполнение встали рядом те пронумеровать их надо. Если платежи и выполнение будут пронумерованы внутри одного договора, то дальше запросик как в моем письме(только вместо даты наш вновь сформированный номер) работает. Нумерация быстрее будет, если ее делать не SQL, а ручками внутри рекордсета в табличке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 14:54:38 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Зато я теперь вложенные запросы умею делать и счетчик УРАА!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 15:05:04 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
те пронумеровать их надо у меня нумеруются... а лучше запрос алекса2 возьмите... меня, к примеру, парило одним запросом писать, хотя, можно было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 15:13:21 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
У меня очень похожий вопрос. Если взять данные Ирчи - Нужно просуммировать денежные величины в "Таблице1" и "Таблице2", а затем посчитать отклонение одного от другого (т.е. вычесть одно из другого). Стандартными способами Акса получается описанная выше лабуда. aleks2И чего париться? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Ваш вариант, кажется, решает проблему, но, поскольку я не очень продвинут в запросах, не могли бы Вы описать Ваши действия в приведенном запросе (зачем нужен каждый шаг?). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 19:49:50 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
В догонку. И как для данного запроса сделать группировку? Куда нужно вставить параметры группировки? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 19:53:33 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
>У меня нумеруются Это правда, но как то сложно и неправильно. Например подразумевается, что все акты и счета за разные даты.. Их надо пронумеровать ДЛЯ КАЖДОГО ДОГОВОРА ОТДЕЛЬНО, а потом сделать фулл джойн как у меня. Мне так кажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2004, 06:26:48 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
Код, Дата из Таблица1 связывается с ближайшей следующей Датой для такого же кода из Таблица2. Короче платеж привязывается к ближайщей предыдущей дате акта о выполнении. Код: plaintext 1. 2. 3. 4. Выдираем из Таблица2 только те строки, что удалось привязать к актам выполнения. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Те строки, что удалось привязать к актам выполнения объединяем с соответствующими актами. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Те строки, что НЕудалось привязать к актам выполнения. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Объединяем Те строки, что удалось привязать к актам выполнения. и Те строки, что НЕудалось привязать к актам выполнения. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2004, 07:25:22 |
|
||
|
Странный запрос, или как извратиться
|
|||
|---|---|---|---|
|
#18+
aleks2 Код: plaintext Попробовал. Оказывается, все, что мне нужно, - это ф-ия UNION. Хорошо, что я увидел Ваши "null as...". Вместо "null" я поставил число "0" и вычисления стали правильными. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2004, 15:21:50 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1669614]: |
0ms |
get settings: |
4ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 333ms |

| 0 / 0 |
