18°C
завтра: 14°C
Погода в Перми
18°C
днем20°C
вечером16°C
завтра14°C
Подробно
 93,44
−0.6513
Курс USD ЦБ РФна 20 апреля
93,4409
−0.6513
 99,58
−0.9519
Курс EUR ЦБ РФна 20 апреля
99,5797
−0.9519
  • Существует некий запрос на объединение, данные для которого он (этот запрос) получает из двух других запросов - поля [дата] и [сумма].
    1. Почему этот запрос при суммировании значений поля [сумма] игнорирует одинаковые значения поля [сумма] выбирая лишь одно? Например:

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


    вместо 8?

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

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

    Non solum oportet, sed etiam necessese est

  • Первый запрос:
    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 ]. Без пробелов конечно.

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

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

    Non solum oportet, sed etiam necessese est

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

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

    Be too clever by three quarters.

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

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

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

    Non solum oportet, sed etiam necessese est

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

    Be too clever by three quarters.

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

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

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

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

Модератор: