Конференция "Базы" » Можно ли создать такой запрос в SQL ADO Аccess
 
  • Разведка (02.09.13 10:52) [0]
    Есть 2 связанные таблицы
    1. работкики
       Петров
       Сидоров
       иванов
    2. выполненые работы

    Уточнять не буду, что к чему, но результат запроса должен вывести
    работников в одну строчку
    например:
    [дата] [Выполненные работы][Петров, Сидоров]
    [дата] [Выполненные работы][Иванов, Сидоров]
  • Разведка (02.09.13 10:59) [1]
    Я понимаю то ли дело Oracle все может, но ADO Аccess это же полный экстрим.
  • Ega23 © (02.09.13 11:13) [2]

    > Уточнять не буду, что к чему

    Объяснять не буду, что почему, но надо соединять.
  • Разведка (02.09.13 11:23) [3]

    > Ega23 ©   (02.09.13 11:13) [2]

    ух ты крутой ответ... респект
  • Разведка (02.09.13 11:25) [4]

    > Ega23 ©   (02.09.13 11:13) [2]


    Спасибо очень помогло, а то просто  тупил и не знал как сделать, а то просто супер способ .... пойду чайку налью..
  • Savek (02.09.13 13:25) [5]
    Конструктор запросов есть у аксеса, для снижения экстрима
  • Ega23 © (02.09.13 14:17) [6]

    > ух ты крутой ответ... респект


    А то.


    > Спасибо очень помогло


    Незачто, обращайтесь завсегда например.
  • Дмитрий (02.09.13 16:22) [7]
    конструктор запросов в Акйессе неплох, сам все нарисует
    там и разбирайся, как таблицы объединяются в sql-запросах
    хотя все это есть в книжках, хелпе
    и в основе  довольно просто
    тем более всего лишь для двух таблиц
  • Кщд (02.09.13 19:23) [8]
    >Дмитрий   (02.09.13 16:22) [7]
    не поняли вопрос?
    перечитайте
    речь не об объединении таблиц, а об агрегате над записями

    >Разведка   (02.09.13 10:52)
    google: access aggregate strings
  • Дмитрий (03.09.13 10:56) [9]
    вы имеете в виду объединение в одно поле работников и выполненные работы?
    >[дата] [Выполненные работы][Петров, Сидоров]

    полагаю, что такое агрегирование одним запросом сделать нельзя
    поскольку функция SUM() текстовые поля не складывает, а конкатенация в списке агрегатных функций отсутствует.
  • Дмитрий (03.09.13 11:07) [10]
    Можно извратиться и посредством ТРАНСФОРМ (перекрестного запроса) всех работников вытянуть в заголовки строк и потом сложить вторым запросом.
    Но сложить произвольные работы...
  • SQL ADO Access (03.09.13 11:32) [11]
    > результат запроса должен вывести
    > работников в одну строчку
    > например:
    > [дата] [Выполненные работы][Петров, Сидоров]
    > [дата] [Выполненные работы][Иванов, Сидоров]


    Дорогой , где у тебя в связанных таблицах [дата], по какому полю связь?
    Нет структуры ни таблицы "работники", ни таблицы "выполненные работы", а ты говоришь о каком-то SQL запросе.
    Если представишь структуры таблиц, возможно тебе и помогут с запросом ...
  • Ega23 © (03.09.13 11:48) [12]

    > полагаю, что такое агрегирование одним запросом сделать нельзя


    Можно сделать всё, вопрос в затратах.
  • Ega23 © (03.09.13 11:49) [13]

    > Дорогой , где у тебя в связанных таблицах [дата], по какому полю связь?
    > Нет структуры ни таблицы "работники", ни таблицы "выполненные работы", а ты говоришь о каком-то SQL запросе.
    > Если представишь структуры таблиц, возможно тебе и помогут с запросом ...


    Ну он же чётко написал, что уточнять не будет.
  • SQL ADO Access (03.09.13 11:52) [14]
    > Ega23 ©   (03.09.13 11:49) [13]
    Ну он же чётко написал, что уточнять не будет.

    Да уж ...
  • Дмитрий (03.09.13 12:57) [15]
    >Можно сделать всё, вопрос в затратах.

    Бессмысленная очевидность.
    Просветите меня, буду признателен, как рационально сложить строки в одну при группировке по дате таблицы.
    [Дата1][Описание работы1]
    [Дата1][Описание работы2]
    [Дата1][Описание работы3]
    [Дата2][Описание работы4]
    ...

    Чтобы в итоге получить
    [Дата1][Описание работы1 +Описание работы2+Описание работы3]
    [Дата2][Описание работы4]
  • Кщд (03.09.13 13:00) [16]
    >Дмитрий   (03.09.13 12:57) [15]
    начнёте гуглить или продолжите глупить?
  • Ega23 © (03.09.13 13:47) [17]
    Написать функцию, в чём проблема-то?
  • sniknik © (04.09.13 08:18) [18]
    > как рационально сложить
    рационально не складывать. а просто например "развернуть" таблицу/результат группировки с помощью операции pivot table.

    > Написать функцию, в чём проблема-то?
    нет в access(в смысле jet а не программе) функций... но в принципе можно "помучится" и обойтись стандартными (VB), наверное... но только смысл? сильно затратный запрос получится, если вообще получится.
  • Ega23 © (04.09.13 11:48) [19]

    > нет в access(в смысле jet а не программе) функций


    Да ладно????
 
Конференция "Базы" » Можно ли создать такой запрос в SQL ADO Аccess
Есть новые Нет новых   [119862   +32][b:0][p:0.001]