powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Одну колонку в несколько
6 сообщений из 6, страница 1 из 1
Одну колонку в несколько
    #32110770
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть табличка в ней 3 интересующих меня поля
NOMER | DNYN | KODN | SUMMN
задание у меня такое:
Для каждого NOMER надо посчитать суммы DNYN и SUMMN по разным критериям в 6 столбцов например для KODN = 23 и KODN = 2 надо посчитать сумму SUMMN каждому NOMER в один столбец, во-второй SUMMN где KODN = 27 и KODN = 5 и KODN = 7, ну и т.д. для DNYN тоже есть суммы.
и ещё один прикол сумма может быть равна как 0 так и Null:( но везде надо написать хотя бы 0.

как бы это так матюгнуться через SQL шоб всё так и получилося...

Заранее спасибо.
...
Рейтинг: 0 / 0
Одну колонку в несколько
    #32110787
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если что не понятно или не точно объяснил спрашивайте не стесняйтесь
...
Рейтинг: 0 / 0
Одну колонку в несколько
    #32110789
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично я не понял, чего тут сложного...
Для каждого условия делаешь свой UPDATE и вперед!
Правда, каковы эти условия, я тоже не понял ;0)
А что касается NULL, для этого у нас ведь есть Nz()
...
Рейтинг: 0 / 0
Одну колонку в несколько
    #32110817
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я тож вроде не вижу, но вот AccEss'97 я не могу объяснить чо куда и по какому условию вставить.

Ну не до конца я ещё разобрался с апдейтом:((

для примера есть такой запрос
Код: plaintext
1.
2.
3.
4.
SELECT Stat.NOMER, Sum(ZP2002.DNYN1) AS WorkDays
FROM ZP2002 INNER JOIN Stat ON ZP2002.NOMER = Stat.NOMER
WHERE (((ZP2002.KODN1)= 3  Or (ZP2002.KODN1)= 4  Or (ZP2002.KODN1)= 12  Or (ZP2002.KODN1)= 22  Or (ZP2002.KODN1)= 25  Or (ZP2002.KODN1)= 14  Or 
(ZP2002.KODN1)= 38  Or (ZP2002.KODN1)= 44  Or (ZP2002.KODN1)= 68 ))
GROUP BY Stat.NOMER;

надо WorkDays из него впихнуть в таблицу ForStatic поле RabDni для соответсвующих NOMER (в ForStatic это поле TabNum)
чо то я как ни пытаюсь он на меня материться
...
Рейтинг: 0 / 0
Одну колонку в несколько
    #32110902
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понял, че надо, но по моему, это делается перекрестным запросом.
...
Рейтинг: 0 / 0
Одну колонку в несколько
    #32111914
RiliR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На диалекте MS SQL SERVERa это выглядело бы приблизительно следующим образом:

Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT 
      SUM(CASE WHEN KODN IN ( 23 ,  2 ) THEN SUMMN ELSE  0  END) S1,
      SUM(CASE WHEN KODN IN ( 27 ,  5 ,  7 ) THEN SUMMN ELSE  0  END) S2,
      ...
FROM Table1
GROUP BY NOMER


В Access-м диалекте отсутствует конструкция CASE. Не знаю, но вроде и замены ей тоже нет. Но вроде как в запросах можно использовать функции VBA, и они корректно отрабатывают, во всяком случае некоторые. В частности в данном случае можно было бы попробовать IIf или Switch. Может и получится.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Одну колонку в несколько
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]