Member 12300036 Ответов: 2

Как разделить данные столбца и показать в следующей строке в SQL server


у меня есть такой столик..
Идентификатор Travelamount TravelBy
1 Автомобиль / Велосипед 5/6
2 поезд / автобус 7/8

если мне нужны данные, основанные на Id ...то данные должны быть такими.

Идентификатор Travelamount TravelBy
1 автомобиль, 5
Велосипед 6
2 поезд 7
автобус 8

Что я уже пробовал:

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

Richard Deeming

Это был очень плохой дизайн базы данных, когда вы спросили прошлая неделя[^], и сегодня все еще очень плохо.

Сделайте себе одолжение: перестаньте бороться с текущим дизайном и найдите время, чтобы должным образом нормализовать свою базу данных. Как только вы это сделаете, запрос будет тривиальным.

CHill60

Я уже ответила на этот вопрос. Не перепечатывайте его снова

2 Ответов

Рейтинг:
2

ashokmaurya786

в sql по умолчанию есть функция split,

SELECT * FROM [dbo].[Split]('1 Car/Bike 5/6', '/')


CHill60

SQL 2016 и далее действительно имеет встроенную функцию для разделения строк, но она не называется "Split"!

Рейтинг:
0

Maciej Los

Цитата:
Как разделить данные столбца и показать в следующей строке в SQL server

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

Лучший способ-это использовать КТОС[^] или пользовательская функция[^]. Видеть:
Как разделить строку с помощью разделителя в Sql[^]
получите 2-ю и 3-ю строки, разделив длинную строку с помощью T-Sql[^]

Наконец, обратите внимание: ваша структура/дизайн базы данных очень плохи. Вы должны изменить его, как Ричард Диминг[^] упоминается в комментарии к вопросу.