На информационном ресурсе применяются cookie-файлы. Оставаясь на сайте, вы подтверждаете свое согласие на их использование.
Вопрос по Access
        3129
                9
                
                
                    Пал Саныч
                
                
        
        activist
            Существует некий запрос на объединение, данные для которого он (этот запрос) получает из двух других запросов - поля [дата] и  [сумма].
1. Почему этот запрос при суммировании значений поля [сумма] игнорирует одинаковые значения поля [сумма] выбирая лишь одно? Например:
 
Дата | Сумма
01.01.2001 | 1
01.01.2001 | 2
01.01.2001 | 2
01.01.2001 | 3
ИТОГО: 6
вместо 8?
2. Какие волшебные буквы написать в тексте запроса на объединение, что бы формат поля [сумма] стал "с разделителями разрядов"?
Заранее весьма и весьма благодарен всем откликнувшимся.
    1. Почему этот запрос при суммировании значений поля [сумма] игнорирует одинаковые значения поля [сумма] выбирая лишь одно? Например:
Дата | Сумма
01.01.2001 | 1
01.01.2001 | 2
01.01.2001 | 2
01.01.2001 | 3
ИТОГО: 6
вместо 8?
2. Какие волшебные буквы написать в тексте запроса на объединение, что бы формат поля [сумма] стал "с разделителями разрядов"?
Заранее весьма и весьма благодарен всем откликнувшимся.
                
                    Mad_Dollar
                
                
        
        
    guru
            возможно текст исходных запросов и запроса на объединение поможет решить вопрос быстрее, правда.
    
                
                    Пал Саныч
                
                
        
        
    activist
            Первый запрос:
SELECT .ДатаФед,
.ДатаФед,  .ВФед,
.ВФед,  .ПрограммыФедФакт, договоры.Заемщик, договоры.№договора
.ПрограммыФедФакт, договоры.Заемщик, договоры.№договора
FROM договоры INNER JOIN 1 ON договоры.Код = .договоры_Код
.договоры_Код
WHERE ((( .ДатаФед) Is Not Null));
.ДатаФед) Is Not Null));
Второй запрос:
SELECT .ДатаОбл,
.ДатаОбл,  .[В%Обл],
.[В%Обл],  .ПрограммыОблФакт, договоры.Заемщик, договоры.№договора
.ПрограммыОблФакт, договоры.Заемщик, договоры.№договора
FROM договоры INNER JOIN 1 ON договоры.Код = .договоры_Код
.договоры_Код
WHERE ((( .ДатаОбл) Is Not Null));
.ДатаОбл) Is Not Null));
Запрос на объединение:
select ДатаФед, ВФед, ПрограммыФедФакт,заемщик,№договора,"Федеральный" as[БЮДЖЕТ]
from АГА1
UNION select ДатаОбл, [В%Обл], ПрограммыОблФакт,заемщик,№договора,"Областной"
from АГА2
ORDER BY ДатаФед;
Вместо смайлов прошу читать [ 1 ]. Без пробелов конечно.
    SELECT
 .ДатаФед,
.ДатаФед,  .ВФед,
.ВФед,  .ПрограммыФедФакт, договоры.Заемщик, договоры.№договора
.ПрограммыФедФакт, договоры.Заемщик, договоры.№договораFROM договоры INNER JOIN 1 ON договоры.Код =
 .договоры_Код
.договоры_КодWHERE (((
 .ДатаФед) Is Not Null));
.ДатаФед) Is Not Null));Второй запрос:
SELECT
 .ДатаОбл,
.ДатаОбл,  .[В%Обл],
.[В%Обл],  .ПрограммыОблФакт, договоры.Заемщик, договоры.№договора
.ПрограммыОблФакт, договоры.Заемщик, договоры.№договораFROM договоры INNER JOIN 1 ON договоры.Код =
 .договоры_Код
.договоры_КодWHERE (((
 .ДатаОбл) Is Not Null));
.ДатаОбл) Is Not Null));Запрос на объединение:
select ДатаФед, ВФед, ПрограммыФедФакт,заемщик,№договора,"Федеральный" as[БЮДЖЕТ]
from АГА1
UNION select ДатаОбл, [В%Обл], ПрограммыОблФакт,заемщик,№договора,"Областной"
from АГА2
ORDER BY ДатаФед;
Вместо смайлов прошу читать [ 1 ]. Без пробелов конечно.
                
                    Mad_Dollar
                
                
        
        
    guru
            сделайте в запросах рерультирующие поля одинаковые. Всмысле названия полей. Чтобы если уж была дата, то не датаФед и не дата Обл, а именно дата. Со всеми полями. Через select table.field as union_field_name ... Как-то так.  
ЗЫ И никто не говорил, что простой union исключает дублирующие записи. Вам что посчитать надо?
    ЗЫ И никто не говорил, что простой union исключает дублирующие записи. Вам что посчитать надо?
                
                    zeus
                
                
        
        
    veteran
            +1
Используй UNION ALL
В конце агрегаты свернешь GROUP by
    Используй UNION ALL
В конце агрегаты свернешь GROUP by
                
                    Пал Саныч
                
                
        
        
    activist
            Спасибо, получилось, а как формат чисел вывести в формате "с разделителями разрядов" в сводной таблице? Везде где возможно - такой формат стоит, в конструкторе сводной талице - тоже, но выводит общий формат.
    Сейчас читают
            
            Очень нужна помощь советами. Ситуация СОС!
            81368
                364
                Домусы-любимусы (часть 3)
            430644
                967
                Концлагерь? (часть 3)
            172615
                1000
                
                
                    Mad_Dollar
                
                
        
        
    guru
            А вот это не скажу - давно это было. Попробуйте сделать в конструкторе запрос типа "выбрать все поля из запроса на объединение" и там указать тип полей.
    Спасибо, получилось, а как формат чисел вывести в формате "с разделителями разрядов" в сводной таблице? Везде где возможно - такой формат стоит, в конструкторе сводной талице - тоже, но выводит общий формат.Возможно вам просто надо настройки системы поменять, а возможно и нет. В любом случае
"число в строку с форматированием" отдавать в запросе на сервер дурной тон.
Реализуйте функцию преобразования числа в строку (с разделителями) при непосредственном выводе таблицы в приложении (клиенте сервера).
Спасибо:
Mad_Dollar
zeus
Победил проблемку Вашими советами.
    Mad_Dollar

zeus

Победил проблемку Вашими советами.
ТОП 5
            2
                        
                    4