|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Добрый день! Помогите с запросом. Имеется две таблицы 1- таблица RnВходящий остаток0011000020003 700 2-я таблица master_rnДатаОборот00117.01.20095000120.01.200920000117.01.200910000219.01.200930000220.01.2009400 Эти две таблицы связаны как Rn с Masret_rn Необходимо получить входящий остаток и оборот за определенное число Например на 17.01.2009 RnВходящий остатокОборот001100150002000037000 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2009, 14:54 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Новичок 2009Добрый день! Помогите с запросом. Что-то типа этого ... Код: plaintext 1. 2. 3.
Код: plaintext 1. 2. 3. 4. 5. 6.
Код: plaintext
Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2009, 15:47 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Tohan_ORAНовичок 2009Добрый день! Помогите с запросом. Что-то типа этого ... Код: plaintext 1. 2. 3.
Код: plaintext 1. 2. 3. 4. 5. 6.
Код: plaintext
Код: plaintext 1. 2. 3.
Не все так просто. А попробуйте добавить строчку во вторую таблицу вида: INSERT into c2 values('005',DATE(2009,1,17),50) - т.е. обороты есть, в входящего остатка нет. Вполне частый вариант. С уважением, Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2009, 16:21 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Aleksey-K Не все так просто. А попробуйте добавить строчку во вторую таблицу вида: INSERT into c2 values('005',DATE(2009,1,17),50) - т.е. обороты есть, в входящего остатка нет. Вполне частый вариант. С уважением, Алексей. Тогда можно так попробовать Код: plaintext
Код: plaintext 1. 2. 3. 4.
rn exp_2 sum_exp_3001 100 150002 0 0003 700 0005 0 50 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2009, 16:36 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Вместо LEFT JOIN надо FULL JOIN Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2009, 16:59 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Aleksey-KВместо LEFT JOIN надо FULL JOIN Код: plaintext 1. 2. 3. 4.
А если добавить ещё данных ...!? Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2009, 17:06 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
+ Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2009, 17:07 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Tohan_ORA+ Код: plaintext
Согласен, тогда исключим из оборотов записи по дате в подзапросе: Код: plaintext 1. 2. 3.
С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2009, 07:33 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Aleksey-K SELECT NVL(c1.rn, t.master_rn) AS rn, SUM(NVL(c1.ost, 0)) AS Ost, SUM(NVL(t.oborot,0)) oborot ; from c1 full join (SELECT master_rn, dt,oborot FROM c2 WHERE dt<=m.v_dt) t on c1.rn=t.master_rn ; GROUP BY 1 ; ORDER BY 1 Алексей, что выдаст такой запрос по входящему остатку по RN=1 и по RN=6 !? Если через full join,то можно попробовать и что-то вроде этого,но в боевом запросе я бы full join не использовал бы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2009, 10:14 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
to Tohan_ORA to Aleksey-K Спасибо. Разобрался. Не подскажите еще каким образом введенные пользователем параметры модальной формы передать в мой запрос?? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2009, 11:13 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Tohan_ORAAleksey-K SELECT NVL(c1.rn, t.master_rn) AS rn, SUM(NVL(c1.ost, 0)) AS Ost, SUM(NVL(t.oborot,0)) oborot ; from c1 full join (SELECT master_rn, dt,oborot FROM c2 WHERE dt<=m.v_dt) t on c1.rn=t.master_rn ; GROUP BY 1 ; ORDER BY 1 Алексей, что выдаст такой запрос по входящему остатку по RN=1 и по RN=6 !? Если через full join,то можно попробовать и что-то вроде этого,но в боевом запросе я бы full join не использовал бы: + Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: plaintext 1. 2. 3.
А я бы даже так сделал: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2009, 12:04 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Новичок 2009to Tohan_ORA to Aleksey-K Спасибо. Разобрался. Не подскажите еще каким образом введенные пользователем параметры модальной формы передать в мой запрос?? Им, кажись, ща не до тебя! вопрос оч интересный в плане поиска решения (для торговли особенно). А твои параметры добавь куда нить типа Код: plaintext 1. 2. 3.
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 16:53 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
AlikWishin А потом в Запросе Код: plaintext 1.
ну сколько можно наступать на одни и те же грабли?! не надо в запросах использовать конструкции типа _screen.ИмяПеременной (или ЭтаФорма.Проперти), т.к. запрос будет первым делом искать таблицу с именем _screen, а в ней поле с именем ИмяПеременной в запросах делать надо так: Код: plaintext 1. 2.
PS. а вот конструкции типа МояТаблица.МоёПоле использовать можно... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2009, 09:15 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Помогите чайнику: имеется запрос Select zordspM.name, zSubDiv.name from zordspM,zSubDiv.... where .... Ругается на неуникальность поля name (((. Как обойти это в выборе полей? Пробовала обозвать zordspM.name as a_1 например. Эффекту ноль. Как верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 14:32 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
> Автор: Бонни > Ругается на неуникальность поля name (((. Как обойти это в выборе полей? Полный текст запроса покажи Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 14:38 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
БонниПомогите чайнику: имеется запрос Select zordspM.name, zSubDiv.name from zordspM,zSubDiv.... where .... Ругается на неуникальность поля name (((. Как обойти это в выборе полей? Пробовала обозвать zordspM.name as a_1 например. Эффекту ноль. Как верно?А при чем тут выбор полей? Почему решили, что ругань на выбор? После where ни одного name нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 14:46 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Бонни, в SELECT еще и GROUP BY наверное есть? Если так, то попробуйте изменить перед выполнением запроса SET ENGINEBEHAVIOR на 70 (и восстановите после в исходное значение) либо замените в запросе "неуникальные" поля, на которые Fox ругается, на любые агрегатные функции с их участием, например, MIN(...) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 16:56 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Накосячила сама). Закомментила во FROM табличку нужную. Сейчас назрел другой : использую в запросе 9 штук join. Суть такова. В таблице 11 полей, каждое из которых связано со своей табличкой по left join.использую в запросе 9 штук join и всё, дальше ошибка. Я так поняла ,что больше нельзя. Матерится при добавлении ещё 1 Join, что слишком много подзапросов "too many subqueries" - есть чем это лечить? Использую при подключении к БД Microsoft foxpro driver 6.0.Может, что повыше поставить? Запросы пишу из PB 9, но думаю сама среда неважна. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2009, 20:34 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
На всякий случай поясню, т.к. путано написала. Мне нужно 11 join, а максимум ,сколько даёт написать, - 9. Ещё, мне из каждого соединения нужно будет использовать поля из связанной таблицы в Select , поэтому exists -ом заменить нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2009, 22:04 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
БонниНакосячила сама). Закомментила во FROM табличку нужную. Сейчас назрел другой : использую в запросе 9 штук join. Суть такова. В таблице 11 полей, каждое из которых связано со своей табличкой по left join.использую в запросе 9 штук join и всё, дальше ошибка. Я так поняла ,что больше нельзя. Матерится при добавлении ещё 1 Join, что слишком много подзапросов "too many subqueries" - есть чем это лечить? Использую при подключении к БД Microsoft foxpro driver 6.0.Может, что повыше поставить?Угу. VFP OLDB Provider с сайта мелкомягких. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2009, 10:08 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Скачала, поставила. Никаких изменений(((. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2009, 17:46 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Я с Фоксом не работала,можно по-подробнее порядок действий с OLE DB Provider? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2009, 17:54 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
> Автор: Бонни > Я с Фоксом не работала,можно по-подробнее порядок действий с OLE DB Provider? Да разбей ты свои 12 джоинов на несколько отдельных запросов и не парься Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2009, 17:58 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
БонниСкачала, поставила. Никаких изменений(((.От простой установки и не должно ничего измениться. Строку подключения как минимум надо поменять. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2009, 18:11 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Снова требуется помощь: в запросе необходимо поставить подобное условие: where date(string(zHis.year,'-',zHis.month,'-01')) <={^2008-12-31} Как написать правильно? поле zHis.year - строка вида(2008, 2009) - число поле zHis.month- строка вида (01, 02,...) - число. Пытаюсь привести к виду date("2008-05-01"), но без хэлпа по ф-циям проблематично. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2009, 15:43 |
|
|
start [/forum/topic.php?fid=41&msg=36139988&tid=1586018]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 165ms |
0 / 0 |