|
|
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Добрый день.Есть dbf-таблица движения материалов. Поля sklad(цех), nom (номенклатурный номер),sum (сумма прихода или расхода), vid (определяет, чем явл. сумма:приходом или расходом. 40-расход, остальные значения-приход). Задача: выбрать только те записи, сгруппировав по номенклатурному номеру и по цехам, для которых остаток (приход-расход) >1000. Запрос "sql40" (выбираем с видом 40): Код: plaintext 1. 2. 3. 4. Запрос "sqlnot40" (с видом не равным 40, т. е. приход): Код: plaintext 1. 2. 3. 4. Общий запрос: Код: plaintext 1. 2. 3. 4. 5. 6. Проблема в том, что, если по определённому номенк. номеру расхода не было, значит и нет соотв. записи для такого номера с видом "40", а значит a.Summ - b.Summ не имеет смысла. Но этом случае нужно считать расход равным 0 и в остаток попадает весь приход. Помогите реализовать. Заранее премного благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 14:07 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
А если так попробовать: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 14:57 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 15:00 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 15:01 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Работаю через BDE. IIF отпадает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 15:09 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
rebroffРаботаю через BDE. IIF отпадает. И что, в BDE нет аналога? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 15:13 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
CASE то он должен понимать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 15:14 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Загвоздка в том, что для некоторых номенклатурных номеров не существует записи для данного номера с видом = "40". Т.е. расхода не было. Логически расход =0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 15:18 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 15:27 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
case ему (BDE) тоже невдомёк:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 15:35 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
а Full Join понимает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 16:01 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Может поймет что-то типа такого Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. или даже такого Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. PS Не проверял , поэтому не знаю работает ли , но думаю направление указал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 16:21 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Вай , копи пасте .... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 16:22 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
тху , опят поспешил Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 16:23 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
не , ну что ты сделаешь - блин туплю после обеда 2 последних варианта соедени - короче в 1 гроуп бай добавь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 16:25 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Добрый вечер. Есть база. Опишу подробнее. В таблице реализована древовидное подчинение клиентов, т.е. есть id клиента, который имеет id_parent, а этот в свою очередь может быть равен одному из id клиентов. Поле level создано для индификации уровня данного клиента в иерархической структуре. Талица __client: id (уникальный ключ), name (имя клиента), id_parent (ключ родителя, может быть равен id другой записи), level (уровень в иерархической структуре), id_status Таблица __buy: id_client, __idzakaz Таблица __zakaz: id (номер заказа), summ (сумаа заказа), overball (каждый товар имеет свой балл, это сумма всех баллов товаров входящих в заказ), data (дата заказа) Таблица __status: id, name - статусы клиентов, зависят и изменяются от количества набраных баллов за 1 месяц. Беда в следующем: нужно построить отчет, который выводил бы для определенного клиента все его дерево подчиненных с указанием статуса и количества набранных баллов в данном месяце. Подскажите пожалуйста как вывести хотябы дерево подчиненных для определенного клиента. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2006, 21:32 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Сходите на форум MS SQL - там в факах и поиском по слову TREE - есть масса решений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 11:03 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
JevgeniyДобрый вечер. Есть база. Опишу подробнее. В таблице реализована древовидное подчинение клиентов, т.е. есть id клиента, который имеет id_parent, а этот в свою очередь может быть равен одному из id клиентов. Поле level создано для индификации уровня данного клиента в иерархической структуре. Талица __client: id (уникальный ключ), name (имя клиента), id_parent (ключ родителя, может быть равен id другой записи), level (уровень в иерархической структуре), id_status Таблица __buy: id_client, __idzakaz Таблица __zakaz: id (номер заказа), summ (сумаа заказа), overball (каждый товар имеет свой балл, это сумма всех баллов товаров входящих в заказ), data (дата заказа) Таблица __status: id, name - статусы клиентов, зависят и изменяются от количества набраных баллов за 1 месяц. Беда в следующем: нужно построить отчет, который выводил бы для определенного клиента все его дерево подчиненных с указанием статуса и количества набранных баллов в данном месяце. Подскажите пожалуйста как вывести хотябы дерево подчиненных для определенного клиента. Заранее спасибо. Проблема неоднократно обсуждалась. Я такие вещи делаю через серверную функцию, возвращающую таблицу: Пусть есть таблица клиентов CLIENT вида: CLENT_ID INT Parent_ID INT NAME CHAR(40) Level TINYINT Возможно есть и другие поля, но для данного примера они не важны. Определяем на сервере такую функцию: Код: 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. А далее, во всех запросах используете эту функцию в виде ...FROM dbo._CLENT_Tree(@CLIENT_ID) Например, надо в каком-то подзапросе выбрать только данного клиента (@MY_CLIENT_ID) и всех его потомков. Тогда можно, напрмиер, так: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 11:59 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо, Aleksey, подскажите пожалуйста как эту серверную функцию впихнуть в fox pro? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 18:28 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
JevgeniyОгромное спасибо, Aleksey, подскажите пожалуйста как эту серверную функцию впихнуть в fox pro? В каком смысле "впихнуть в fox pro" !? Это функция СЕРВЕРА! Вы должны ее создать на MS SQL Server через EM (Enterprise Manager) или QA (Query Analyser) и использовать и при вызове или из клиента (SQLEXEC) или с сервера (Хранимые процедуры, которые тоже можно вызывать из клиента через SQLEXEC). С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 20:11 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Вот что я делаю: Работа делается на фокс про 6.0 поэтому сторонних программ я не использую. 1. Добавляю предварительно отредактированую процедуру в Stored Procedure. При закрытии система орет благим матом о синтаксических ошбках, не дает закрыть окно. 2. Создаю New Query, пихаю фукцию туда, запускаю на выполнение - не работает. Никакие исправления не помогают. Какие мысли посещают: Для этого дела необходимо чтобы база хранилась на sql сервере и данная процеду добавляется в файл с хранимыми процедурами на сервер, потом при помощи запросов оно выдает список нужных мне данных. Если это так скажите пожалуйста я не буду мучаться и буду искать другой метод решения поставленой здачи. _http://www.sql.ru/forum/actualthread.aspx?tid=363425&pg=-1&hl=%e4%e5%f0%e5%e2%ee Тут описание как можно сделать что-то приближенное при помощи select, но ограниченая глубина - явный минус. Причем глубина и ширина дерева переменна. Так что этот метод явно не подходит. Пошу помощи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 22:49 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
О.. тогда извините, я прочитал только предыдущий пост -=AlexiS=- , который отправлял вас на форум по SQL Server и подумал, что вы разрабатываете приложение клиент-сервер. Тогда все отменяется. Я вам привел код функции на Transact-SQL (T-SQL) - это язык MS Server. Для VFP он не годится. С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 23:20 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Отправлял на MS SQL форум именно за алгоритмами , за идеями как можно решить задачу Но некак не за готовым кодом. Там есть масса красивых решений - через рекурсию , через циклы , через функции ... НО даже готовый код - переделать под фокс - не проблема. В том числе и код приведенный выше ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 11:40 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=219&tid=1590157]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 291ms |

| 0 / 0 |
