Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как извлечь значения из временной таблицы 
:(
    Опции темы
lamravas
Дата 23.1.2008, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



создана впеменная таблица с использованием union all как понимаете в ней значени расположены по диоганали
Код

create table #tempA 

(id_job int null, labor float null, Admcost float null, deprcost float null, rdate datetime null, descript varchar(250) null, 
 pradj float null, apprpr float null, estimated float null, findate datetime null,   invNum float null,
 InvDate datetime null, desmarkup float null) 

insert into #tempA


select  l.job_id, l.amount as labors,0, 0,   0,0,0,0,0,0,0,0,0
        from labor l
        
      union all
         select a.job_id, 0, a.overcost as admcost, 0, 0,0,0,0,0,0,0,0,0
        from admcostv a
   
      union all
         select d.job_id, 0, 0,  d.overcost as deprcost, 0,0,0,0,0,0,0,0,0
        from deprV d
union all
select j.id , 0,0,0, rdate, jdescr,   pradj, apprpr, estcost, findate,
 invNum, invDate, desmarkup 
from jobs j

при извлечении же данных получается вот это
как правильно из нее извлечь данные

Добавлено через 8 минут и 19 секунд
 smile 

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  Screen.PNG 43,57 Kb
PM MAIL   Вверх
Deniel_li
Дата 23.1.2008, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 6.12.2007

Репутация: 1
Всего: 1



картинка плохая (((( не видно почти ничего...

что вы подразумеваете под "как правильно из нее извлечь данные"
PM MAIL   Вверх
lamravas
Дата 23.1.2008, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



Цитата(Deniel_li @ 23.1.2008,  12:10)
картинка плохая (((( не видно почти ничего...

что вы подразумеваете под "как правильно из нее извлечь данные"

ну при запросе из временной таблицы 
Код

Select  admcost, deprcost, labor, findate, descript
from #tempA

значения отображаются в виде лесенки 

PM MAIL   Вверх
Magnifico
Дата 23.1.2008, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 10
Всего: 17



В каком порядке объединял таблицы через UNION ALL в таком порядке и идут записи в таблице #tempA
Можно было бы сгруппировать  по id_job  и брать Max  от полей admcost, deprcost, labor, findate, descript  from #tempA
Но id_job   у тя неуникальное и ты получишь не то што хотел
Тебе сначала надо было объединять таблицы не через Union all a через   inner join  по  id_job



--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
Deniel_li
Дата 23.1.2008, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 6.12.2007

Репутация: 1
Всего: 1



тут есть два пути

1) если из данных типа
0 0 1
0 1 0
1 0 0

нужно получить 
1 1 1

то проще всего просуммировать поля по группе job_id

Код


select id, sum (labors), sum (admcost), sum(deprcost) ..... 

from
(
select  l.job_id as id,  l.amount as labors, 0, 0,      0,0,0,0,0,0,0,0,0      from labor l
   union all
select a.job_id as id, 0, a.overcost as admcost, 0,   0,0,0,0,0,0,0,0,0      from admcostv a
    union all
select d.job_id as id, 0, 0,  d.overcost as deprcost,  0,0,0,0,0,0,0,0,0      from deprV d
union all
select j.id ,        0,0,0,                              rdate, jdescr,   pradj, apprpr, estcost, findate, invNum, invDate, desmarkup 
from jobs j
)
group by id



Это сообщение отредактировал(а) Deniel_li - 23.1.2008, 15:05
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0475 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.