Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как соединить строки / 25 сообщений из 31, страница 1 из 2
13.02.2018, 14:17
    #39601142
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
Привет
Подскажите пожалуйста какую функцию использовать, чтобы две строки соединить в одну.
Сейчас у меня таблица как на картинке, а необходимо, чтобы вместо NULL сдвинулась строка и была только одна запись

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 select DRILLINGDETAIL.holeid, DRILLINGDETAIL.projectcode,  T3.GeolLength, t4.[Sample],drillingdate,shift, 
 (case when shift = 'day' or shift = 'unknown'  and DRILLINGDETAIL.name = 'totaldrilldepth' then DRILLINGDETAIL.Value  end)[DAY],
  (case when shift = 'night' and DRILLINGDETAIL.name = 'totaldrilldepth' then DRILLINGDETAIL.Value  end)[NIGHT],
 
  TotalDrillDepth3 from   (

select geointerval.holeid, (max(geolto) - min(geolfrom))GeolLength from GEOINTERVAL left join DRILLINGDETAIL on GEOINTERVAL.holeid = DRILLINGDETAIL.holeid    group by GEOINTERVAL.holeid)T3

left join 

 ( select Holeid, count(SampleID) as [Sample] from sample where  SampleID<>holeid group by holeid)t4
 on t4.HOLEID=t3.HOLEID
 left join (select holeid, TotalDrillDepth3 = SUM(Cast((case when ddd.name = 'totaldrilldepth' then ddd.Value end) as DECIMAL(20,2))) from DRILLINGDETAIL ddd group by HOLEID)dd on dd.holeid = t3.holeid
 left join DRILLINGDETAIL on DRILLINGDETAIL.holeid=t3.HOLEID 

 where DRILLINGDETAIL.projectcode ='uz' and cast(DRILLINGDETAIL.DRILLINGDATE as date)  between '27-oct-2017' and '27-oct-2017'  

 group by DRILLINGDETAIL.holeid,DRILLINGDETAIL.projectcode,  T3.GeolLength, t4.[Sample],shift,DRILLINGDATE,DRILLINGDETAIL.name,DRILLINGDETAIL.Value, TotalDrillDepth3,shift[/SUP]





Кажется у меня кривые руки...
...
Рейтинг: 0 / 0
13.02.2018, 14:19
    #39601144
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
katish444,
Извините что не пишу исходные данные таблиц, мне бы просто функцию подсказать которая их сольет в одну строку
...
Рейтинг: 0 / 0
13.02.2018, 14:26
    #39601147
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
katish444katish444,
Извините что не пишу исходные данные таблиц, мне бы просто функцию подсказать которая их сольет в одну строкуИ превратится ночь в день?
...
Рейтинг: 0 / 0
13.02.2018, 14:26
    #39601149
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
И что в этом случае ты хочешь получить в поле DAY?
...
Рейтинг: 0 / 0
13.02.2018, 14:27
    #39601150
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
katish444katish444,
Извините что не пишу исходные данные таблиц, мне бы просто функцию подсказать которая их сольет в одну строку
group by , min()/max()
...
Рейтинг: 0 / 0
13.02.2018, 14:28
    #39601152
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
katish444,
Код: sql
1.
2.
3.
4.
...
[Day] = SUM(ISNULL(Day,0)),
[NIGHT] = SUM(ISNULL(NIGHT,0))
GROUP BY ..
...
Рейтинг: 0 / 0
13.02.2018, 14:28
    #39601153
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
30?
6?
36?
18?
...
Рейтинг: 0 / 0
13.02.2018, 14:38
    #39601159
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
iap,
нет, не превратится, колонки то разные
...
Рейтинг: 0 / 0
13.02.2018, 14:39
    #39601160
SvElena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
select distinct isnull(day, night)
...
Рейтинг: 0 / 0
13.02.2018, 14:48
    #39601168
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
Сейчас попробую, спасибо
TaPaK,
...
Рейтинг: 0 / 0
13.02.2018, 14:50
    #39601171
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
katish444iap,
нет, не превратится, колонки то разныеКолонка одна - shift
...
Рейтинг: 0 / 0
13.02.2018, 14:51
    #39601174
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
iapkatish444iap,
нет, не превратится, колонки то разныеКолонка одна - shift
запилить в неё "НочеДень" :)
...
Рейтинг: 0 / 0
13.02.2018, 14:51
    #39601175
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
iap,
нет, в полученной таблице это ведь Day Night
...
Рейтинг: 0 / 0
13.02.2018, 14:52
    #39601179
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
iapkatish444iap,
нет, не превратится, колонки то разныеКолонка одна - shiftЯ сейчас заметил, что речь идёт о двух строках, а красной загогулиной обведены три!
Нехорошо!
...
Рейтинг: 0 / 0
13.02.2018, 14:54
    #39601180
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
katish444iap,
нет, в полученной таблице это ведь Day NightЧего-чего?
...
Рейтинг: 0 / 0
13.02.2018, 14:57
    #39601188
SvElena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
SvElenaselect distinct isnull(day, night)
вернее так
select ... sum(isnull(day, night)) ...
group by ...
...
Рейтинг: 0 / 0
13.02.2018, 15:00
    #39601192
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
SvElena,

не читайте что просят, сразу пилите
...
Рейтинг: 0 / 0
13.02.2018, 15:09
    #39601204
testuser1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
select DRILLINGDETAIL.holeid, DRILLINGDETAIL.projectcode,  T3.GeolLength, t4.[Sample],drillingdate, 
 max((case when shift = 'day' or shift = 'unknown'  and DRILLINGDETAIL.name = 'totaldrilldepth' then DRILLINGDETAIL.Value  end)) [DAY],
  max((case when shift = 'night' and DRILLINGDETAIL.name = 'totaldrilldepth' then DRILLINGDETAIL.Value  end)) [NIGHT],
 
  TotalDrillDepth3 from   (

select geointerval.holeid, (max(geolto) - min(geolfrom))GeolLength from GEOINTERVAL left join DRILLINGDETAIL on GEOINTERVAL.holeid = DRILLINGDETAIL.holeid    group by GEOINTERVAL.holeid)T3

left join 

 ( select Holeid, count(SampleID) as [Sample] from sample where  SampleID<>holeid group by holeid)t4
 on t4.HOLEID=t3.HOLEID
 left join (select holeid, TotalDrillDepth3 = SUM(Cast((case when ddd.name = 'totaldrilldepth' then ddd.Value end) as DECIMAL(20,2))) from DRILLINGDETAIL ddd group by HOLEID)dd on dd.holeid = t3.holeid
 left join DRILLINGDETAIL on DRILLINGDETAIL.holeid=t3.HOLEID 

 where DRILLINGDETAIL.projectcode ='uz' and cast(DRILLINGDETAIL.DRILLINGDATE as date)  between '27-oct-2017' and '27-oct-2017'  

 group by DRILLINGDETAIL.holeid,DRILLINGDETAIL.projectcode,  T3.GeolLength, t4.[Sample],DRILLINGDATE,DRILLINGDETAIL.name, TotalDrillDepth3t
...
Рейтинг: 0 / 0
13.02.2018, 15:51
    #39601248
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
katish444katish444,
Извините что не пишу исходные данные таблиц, мне бы просто функцию подсказать которая их сольет в одну строку
Орлы, ну покажите вы дэвушке кнопку "сделать все как я хачу".
...
Рейтинг: 0 / 0
13.02.2018, 16:03
    #39601257
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
aleks222Орлы, ну покажите вы дэвушке кнопку "сделать все как я хачу".
Из кустов выглядывает гусар:
- Ш-ш-ш-ш - прикладывает он палец к губам.
...
Рейтинг: 0 / 0
14.02.2018, 06:07
    #39601527
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
testuser1, большой прибольшое спасибо
...
Рейтинг: 0 / 0
14.02.2018, 06:09
    #39601530
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
testuser1,
а как добавить столбец, чтобы он Day+Night считал?
Если не трудно подскажите пожалуйста
...
Рейтинг: 0 / 0
14.02.2018, 06:25
    #39601536
Kopelly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
katish444,

Код: sql
1.
2.
With a as (Запрос TestUser)
Select *,[NIGHT]+[DAY] From a
...
Рейтинг: 0 / 0
14.02.2018, 07:01
    #39601540
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
Kopellykatish444,
привет, спасибо, сейчас попробую
Код: sql
1.
2.
With a as (Запрос TestUser)
Select *,[NIGHT]+[DAY] From a
...
Рейтинг: 0 / 0
14.02.2018, 07:09
    #39601542
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединить строки
Kopelly,

он начал ругаться, но вот так вот сработал
Код: sql
1.
(sum(cast([DAY] as float))+sum(cast([NIGHT] as float)))Total



Однако если допустим только у дня есть значение, а ночью NULL, то он вообще ничего не считает и пишет NULL
Почему это может быть?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как соединить строки / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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