Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сравнение по параметрам
 
 автор: Mikimaus   (25.06.2009 в 17:21)   личное сообщение
 
 

Здравствуйте
У меня такая проблема как из одной таблицы взять данные, сложить по показателю а потом ставнить по этому показателю с данными из другой таблицы причем столбцы из месяца в месяц меняются

  Ответить  
 
 автор: Мюллер   (25.06.2009 в 19:21)   личное сообщение
 
 

Ну это же очень просто делается. Нужно из одной таблицы взять данные, сложить по показателю а потом ставнить по этому показателю с данными из другой таблицы


А если сурьезно - ничего не понял. Конкретный пример можете показать?

  Ответить  
 
 автор: Mikimaus   (25.06.2009 в 20:29)   личное сообщение
13 Кб.
 
 

из таблицы Data_1001 взять данные, сложить по показателю ОКПО а потом ставнить по этому показателю с данными из таблицы Data_1001_ук причем столбцы из месяца в месяц меняются т.е. за январь zn1 и zn201, за февраль zn2 и zn 202 и т.д.

  Ответить  
 
 автор: Denis V.   (25.06.2009 в 20:58)   личное сообщение
 
 

Вот это бардак со структурой! Это я ещё файлик не посмотрел. ;-)

  Ответить  
 
 автор: Mikimaus   (26.06.2009 в 15:00)   личное сообщение
 
 


Вот это бардак со структурой! Это я ещё файлик не посмотрел. ;-)


Интересно а как бы ты организовал базу

  Ответить  
 
 автор: Denis V.   (26.06.2009 в 23:18)   личное сообщение
 
 

Да ни как. Всякие ОКПО - это для гос. учреждений и иже с ними... я до этого не дорос ;-)

  Ответить  
 
 автор: Lukas   (25.06.2009 в 21:03)   личное сообщение
 
 


SELECT 
t.ОКПО , 
Round(Sum(t.zn201),1) AS [zn201], 
Round(Sum(t.zn202),1) AS [zn202], 
Round(Sum(t.zn203),1) AS [zn203], 
Round(Sum(t.zn204),1) AS [zn204], 
Round(Sum(t.zn205),1) AS [zn205], 
Round(Sum(t.zn206),1) AS [zn206], 
Round(Sum(t.zn207),1) AS [zn207], 
Round(Sum(t.zn208),1) AS [zn208], 
Round(Sum(t.zn209),1) AS [zn209], 
Round(Sum(t.zn210),1) AS [zn210], 
Round(Sum(t.zn211),1) AS [zn211], 
Round(Sum(t.zn212),1) AS [zn212]
FROM (
SELECT 
t1.ОКПО, 
t1.zn201, 
t1.zn202, 
t1.zn203, 
t1.zn204, 
t1.zn205, 
t1.zn206, 
t1.zn207, 
t1.zn208, 
t1.zn209, 
t1.zn210, 
t1.zn211, 
t1.zn212
FROM data_1001 t1
UNION ALL
SELECT 
t2.ОКПО, 
-t2.zn201, 
-t2.zn202, 
-t2.zn203, 
-t2.zn204, 
-t2.zn205, 
-t2.zn206, 
-t2.zn207, 
-t2.zn208, 
-t2.zn209, 
-t2.zn210, 
-t2.zn211, 
-t2.zn212
FROM data_1001_ук t2
) t
GROUP BY t.ОКПО;

  Ответить  
 
 автор: Mikimaus   (26.06.2009 в 15:23)   личное сообщение
 
 

А как вы t сделали

  Ответить  
 
 автор: Гоблин   (26.06.2009 в 21:34)   личное сообщение
15 Кб.
 
 

Или так. А как сравнивать? На сколько больше или график или одно число с другим рядом вывести? Или объединить как Лукас?
Вот.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList