Мобильная версия форумов
Открыть
 −13°C
завтра: −7°C
Погода в Перми
−13°C
днем−11°C
вечером−8°C
завтра−7°C
Подробно
 65,51
−0.0252
Курс USD ЦБ РФна 23 февраля
65,5149
−0.0252
 74,33
+0.0369
Курс EUR ЦБ РФна 23 февраля
74,3332
+0.0369
  • activist

    Сообщений: 101

    Существует некий запрос на объединение, данные для которого он (этот запрос) получает из двух других запросов - поля [дата] и [сумма].
    1. Почему этот запрос при суммировании значений поля [сумма] игнорирует одинаковые значения поля [сумма] выбирая лишь одно? Например:

    Дата | Сумма
    01.01.2001 | 1
    01.01.2001 | 2
    01.01.2001 | 2
    01.01.2001 | 3
    ИТОГО: 6


    вместо 8?

    2. Какие волшебные буквы написать в тексте запроса на объединение, что бы формат поля [сумма] стал "с разделителями разрядов"?
    Заранее весьма и весьма благодарен всем откликнувшимся.

  • guru

    Сообщений: 4281

    возможно текст исходных запросов и запроса на объединение поможет решить вопрос быстрее, правда.

    Non solum oportet, sed etiam necessese est

  • activist

    Сообщений: 101

    Первый запрос:
    SELECT :1:.ДатаФед, :1:.ВФед, :1:.ПрограммыФедФакт, договоры.Заемщик, договоры.№договора
    FROM договоры INNER JOIN 1 ON договоры.Код = :1:.договоры_Код
    WHERE (((:1:.ДатаФед) Is Not Null));

    Второй запрос:
    SELECT :1:.ДатаОбл, :1:.[В%Обл], :1:.ПрограммыОблФакт, договоры.Заемщик, договоры.№договора
    FROM договоры INNER JOIN 1 ON договоры.Код = :1:.договоры_Код
    WHERE (((:1:.ДатаОбл) Is Not Null));

    Запрос на объединение:

    select ДатаФед, ВФед, ПрограммыФедФакт,заемщик,№договора,"Федеральный" as[БЮДЖЕТ]
    from АГА1
    UNION select ДатаОбл, [В%Обл], ПрограммыОблФакт,заемщик,№договора,"Областной"
    from АГА2
    ORDER BY ДатаФед;

    Вместо смайлов прошу читать [ 1 ]. Без пробелов конечно.

  • guru

    Сообщений: 4281

    сделайте в запросах рерультирующие поля одинаковые. Всмысле названия полей. Чтобы если уж была дата, то не датаФед и не дата Обл, а именно дата. Со всеми полями. Через select table.field as union_field_name ... Как-то так.

    ЗЫ И никто не говорил, что простой union исключает дублирующие записи. Вам что посчитать надо?

    Non solum oportet, sed etiam necessese est

    Исправлено пользователем Mad_Dollar (15.10.08 17:43)

  • veteran

    Сообщений: 1005

    +1
    Используй UNION ALL
    В конце агрегаты свернешь GROUP by

    Be too clever by three quarters.

  • activist

    Сообщений: 101

    Спасибо. Сегодня попробую.

  • activist

    Сообщений: 101

    Спасибо, получилось, а как формат чисел вывести в формате "с разделителями разрядов" в сводной таблице? Везде где возможно - такой формат стоит, в конструкторе сводной талице - тоже, но выводит общий формат.

  • guru

    Сообщений: 4281

    А вот это не скажу - давно это было. Попробуйте сделать в конструкторе запрос типа "выбрать все поля из запроса на объединение" и там указать тип полей.

    Non solum oportet, sed etiam necessese est

  • veteran

    Сообщений: 1005

    В ответ на: Спасибо, получилось, а как формат чисел вывести в формате "с разделителями разрядов" в сводной таблице? Везде где возможно - такой формат стоит, в конструкторе сводной талице - тоже, но выводит общий формат.
    Возможно вам просто надо настройки системы поменять, а возможно и нет. В любом случае
    "число в строку с форматированием" отдавать в запросе на сервер дурной тон.
    Реализуйте функцию преобразования числа в строку (с разделителями) при непосредственном выводе таблицы в приложении (клиенте сервера).

    Be too clever by three quarters.

    Исправлено пользователем zeus (16.10.08 22:03)

  • activist

    Сообщений: 101

    Спасибо:
    Mad_Dollar :respect:
    zeus :respect:
    Победил проблемку Вашими советами.

Записей на странице:

Перейти в форум

Модератор: