powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как соединить строки
31 сообщений из 31, показаны все 2 страниц
Как соединить строки
    #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
Как соединить строки
    #39601144
katish444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
katish444,
Извините что не пишу исходные данные таблиц, мне бы просто функцию подсказать которая их сольет в одну строку
...
Рейтинг: 0 / 0
Как соединить строки
    #39601147
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katish444katish444,
Извините что не пишу исходные данные таблиц, мне бы просто функцию подсказать которая их сольет в одну строкуИ превратится ночь в день?
...
Рейтинг: 0 / 0
Как соединить строки
    #39601149
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что в этом случае ты хочешь получить в поле DAY?
...
Рейтинг: 0 / 0
Как соединить строки
    #39601150
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katish444katish444,
Извините что не пишу исходные данные таблиц, мне бы просто функцию подсказать которая их сольет в одну строку
group by , min()/max()
...
Рейтинг: 0 / 0
Как соединить строки
    #39601152
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katish444,
Код: sql
1.
2.
3.
4.
...
[Day] = SUM(ISNULL(Day,0)),
[NIGHT] = SUM(ISNULL(NIGHT,0))
GROUP BY ..
...
Рейтинг: 0 / 0
Как соединить строки
    #39601153
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30?
6?
36?
18?
...
Рейтинг: 0 / 0
Как соединить строки
    #39601159
katish444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap,
нет, не превратится, колонки то разные
...
Рейтинг: 0 / 0
Как соединить строки
    #39601160
SvElena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select distinct isnull(day, night)
...
Рейтинг: 0 / 0
Как соединить строки
    #39601168
katish444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас попробую, спасибо
TaPaK,
...
Рейтинг: 0 / 0
Как соединить строки
    #39601171
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katish444iap,
нет, не превратится, колонки то разныеКолонка одна - shift
...
Рейтинг: 0 / 0
Как соединить строки
    #39601174
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapkatish444iap,
нет, не превратится, колонки то разныеКолонка одна - shift
запилить в неё "НочеДень" :)
...
Рейтинг: 0 / 0
Как соединить строки
    #39601175
katish444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap,
нет, в полученной таблице это ведь Day Night
...
Рейтинг: 0 / 0
Как соединить строки
    #39601179
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapkatish444iap,
нет, не превратится, колонки то разныеКолонка одна - shiftЯ сейчас заметил, что речь идёт о двух строках, а красной загогулиной обведены три!
Нехорошо!
...
Рейтинг: 0 / 0
Как соединить строки
    #39601180
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katish444iap,
нет, в полученной таблице это ведь Day NightЧего-чего?
...
Рейтинг: 0 / 0
Как соединить строки
    #39601188
SvElena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvElenaselect distinct isnull(day, night)
вернее так
select ... sum(isnull(day, night)) ...
group by ...
...
Рейтинг: 0 / 0
Как соединить строки
    #39601192
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvElena,

не читайте что просят, сразу пилите
...
Рейтинг: 0 / 0
Как соединить строки
    #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
Как соединить строки
    #39601248
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katish444katish444,
Извините что не пишу исходные данные таблиц, мне бы просто функцию подсказать которая их сольет в одну строку
Орлы, ну покажите вы дэвушке кнопку "сделать все как я хачу".
...
Рейтинг: 0 / 0
Как соединить строки
    #39601257
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222Орлы, ну покажите вы дэвушке кнопку "сделать все как я хачу".
Из кустов выглядывает гусар:
- Ш-ш-ш-ш - прикладывает он палец к губам.
...
Рейтинг: 0 / 0
Как соединить строки
    #39601527
katish444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
testuser1, большой прибольшое спасибо
...
Рейтинг: 0 / 0
Как соединить строки
    #39601530
katish444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
testuser1,
а как добавить столбец, чтобы он Day+Night считал?
Если не трудно подскажите пожалуйста
...
Рейтинг: 0 / 0
Как соединить строки
    #39601536
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katish444,

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

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



Однако если допустим только у дня есть значение, а ночью NULL, то он вообще ничего не считает и пишет NULL
Почему это может быть?
...
Рейтинг: 0 / 0
Как соединить строки
    #39601543
katish444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
katish444,А все поняла!
Использовала
Код: sql
1.
coalesce


Вот так на форуме посижу, глядишь, научусь многому)))
Всем спасибо
...
Рейтинг: 0 / 0
Как соединить строки
    #39601544
katish444katish444,А все поняла!
Использовала
Код: sql
1.
coalesce


Вот так на форуме посижу, глядишь, научусь многому)))
Всем спасиботогда еще про isnull() почитай.... ;)
"в целях повышения образованности"(с)
...
Рейтинг: 0 / 0
Как соединить строки
    #39601545
katish444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,

все по мере необходимости))
...
Рейтинг: 0 / 0
Как соединить строки
    #39601556
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katish444,

isnull([DAY|NIGHT],0)
...
Рейтинг: 0 / 0
Как соединить строки
    #39601574
Jaffar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katish444,

опять бурите скважины?
Ямал-СПГ?
...
Рейтинг: 0 / 0
Как соединить строки
    #39601626
katish444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jaffarkatish444,

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


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