powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Упорядочить столбцы
12 сообщений из 12, страница 1 из 1
Упорядочить столбцы
    #39603996
U_rtqwec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть вот такой набор данных

Код: sql
1.
2.
3.
4.
5.
6.
7.
ACCD                 ACCC
-------------------- --------------------
40702810700000001202 20202810300000000000
40702810300000000111 20202810300000000000
20202810300000000000 30102810500000000000
20202810300000000000 40702810900000001204
20202810300000000000 20202810700002222222



Нужно получить вот такой результат
Код: sql
1.
2.
3.
4.
5.
6.
7.
ACCD                 ACCC                          ALL20202                ABC
-------------------- --------------------          --------------------    --------------------
40702810700000001202 20202810300000000000          20202810300000000000    40702810700000001202 
40702810300000000111 20202810300000000000          20202810300000000000    40702810300000000111 
20202810300000000000 30102810500000000000          20202810300000000000    30102810500000000000          
20202810300000000000 40702810900000001204          20202810300000000000    40702810900000001204          
20202810300000000000 20202810700002222222          20202810300000000000    20202810700002222222          



То есть в поле ALL20202 вывести номера, начинающиеся на 20202, в поле ABC соответственно другой номер.
Пробовал использовать конструкцию
Код: sql
1.
2.
3.
4.
CASE  SUBSTRING(p.ACCD, 1, 3)
   WHEN '202' THEN p.ACCC
       else p.ACCD
END



В принципе работает, но не отрабатывает для последней строки, где по обе стороны 20202, эту строку просто дублирует.
...
Рейтинг: 0 / 0
Упорядочить столбцы
    #39604014
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U_rtqwec,
Код: sql
1.
2.
3.
4.
5.
CASE  
	WHEN p.ACCD LIKE '20202%' AND p.ACCD LIKE '20202%' THEN p.ACCD
	WHEN p.ACCD LIKE '20202%' THEN p.ACCC	
	ELSE p.ACCD
END as ABC
...
Рейтинг: 0 / 0
Упорядочить столбцы
    #39604015
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U_rtqwecВ принципе работает, но не отрабатывает для последней строки, где по обе стороны 20202, эту строку просто дублирует.
А что должно получится из последней строки?
...
Рейтинг: 0 / 0
Упорядочить столбцы
    #39604026
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U_rtqwec,

Рискну предположить что используешь CASE для обоих полей, проверяя для одного результирующего поля условие с ACCD, для другого - ACCC. Переведи оба CASE на одно условие...
...
Рейтинг: 0 / 0
Упорядочить столбцы
    #39604033
U_rtqwec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaKU_rtqwec,
Код: sql
1.
2.
3.
4.
5.
CASE  
	WHEN p.ACCD LIKE '20202%' AND p.ACCD LIKE '20202%' THEN p.ACCD
	WHEN p.ACCD LIKE '20202%' THEN p.ACCC	
	ELSE p.ACCD
END as ABC



Ребята, всем спасибо, вы мне очень помогли, составил вот такой запрос, кажется то что нужно

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CASE  
		WHEN p.ACCD LIKE '20202%' and p.ACCC LIKE '20202%' THEN p.ACCD
		WHEN p.ACCD LIKE '20202%' and pACCC NOT LIKE '20202%' THEN p.ACCD
	     WHEN p.ACCD NOT LIKE '20202%' and p.ACCC LIKE '20202%' THEN p.ACCC
	 END as ALL20202,
	  CASE  
		WHEN p.ACCD LIKE '20202%' and p.ACCC LIKE '20202%' THEN p.ACCC
		WHEN p.ACCD LIKE '20202%' and p.ACCC NOT LIKE '20202%' THEN p.ACCC
	     WHEN p.ACCD NOT LIKE '20202%' and p.ACCC LIKE '20202%' THEN p.ACCD
	 END as ABC,
...
Рейтинг: 0 / 0
Упорядочить столбцы
    #39604034
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U_rtqwec,

условия дублировать не надо, case выйдет по первому вхождению
...
Рейтинг: 0 / 0
Упорядочить столбцы
    #39604042
U_rtqwec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaKU_rtqwec,

условия дублировать не надо, case выйдет по первому вхождению

Так первое вхождение для поля ALL20202, а второе немного измененное для ABC
...
Рейтинг: 0 / 0
Упорядочить столбцы
    #39604047
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U_rtqwec,

NOT LIKE в CASE не нужен для таких условий
...
Рейтинг: 0 / 0
Упорядочить столбцы
    #39604060
U_rtqwec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaKU_rtqwec,

NOT LIKE в CASE не нужен для таких условий

Точно, спасибо!
...
Рейтинг: 0 / 0
Упорядочить столбцы
    #39604066
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U_rtqwecВ принципе работает, но не отрабатывает для последней строки, где по обе стороны 20202, эту строку просто дублирует.
Инкассацию считаете? Советую потом полученные цифры показать не только главе УКО, но и главбуху, потому что ТЗ обычно пишет один человек, а цифры полученные анализирует другой - и у них несколько разные "представления о прекрасном"...
...
Рейтинг: 0 / 0
Упорядочить столбцы
    #39604071
U_rtqwec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy_OLAPU_rtqwecВ принципе работает, но не отрабатывает для последней строки, где по обе стороны 20202, эту строку просто дублирует.
Инкассацию считаете? Советую потом полученные цифры показать не только главе УКО, но и главбуху, потому что ТЗ обычно пишет один человек, а цифры полученные анализирует другой - и у них несколько разные "представления о прекрасном"...
Нет, это выгрузки между АБС, там все гораздо печальнее.
...
Рейтинг: 0 / 0
Упорядочить столбцы
    #39604090
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U_rtqwecAndy_OLAPпропущено...

Инкассацию считаете? Советую потом полученные цифры показать не только главе УКО, но и главбуху, потому что ТЗ обычно пишет один человек, а цифры полученные анализирует другой - и у них несколько разные "представления о прекрасном"...
Нет, это выгрузки между АБС, там все гораздо печальнее.
А, точно, у Вас же попытка соскочить с диасофта. В любом случае на каждый чих подключайте хотя бы зама главбуха. А иначе цифры потом пойдут по таблицам и не отыщите, откуда они начали не так считаться.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Упорядочить столбцы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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