Как взять некоторые данные в одну строку после получения определенного условия - PullRequest
0 голосов
/ 12 ноября 2010

У меня есть перемешивание в одной колонке. Имя столбца - PreviousStageID. В этом столбце у меня есть данные String как 12150, 13250. Я хочу запустить оператор SQL для разделения 12150, используя quama в качестве условия. Значит в этой строке, когда quama найден, sql должен взять все данные перед quama. Помоги мне в этом вопросе .... Спасибо заранее.

JAY ....

12150 не исправлено один раз, это 12150, во второй раз это будет 14830. Я хочу взять только ту строку, которая находится перед запятой.

JAY

1 Ответ

1 голос
/ 12 ноября 2010

Если я понимаю (отредактированный) вопрос, вы хотите найти все строки, в которых подстрока first в столбце с разделителями-запятыми PreviousStageIds = '12150'. Для этого вы должны использовать функции SUBSTRING () и CHARINDEX ().

Если подстрока '12150' может присутствовать в любом месте в строке, а не только в качестве первой подстроки, тогда вам нужно использовать оператор LIKE с подстановочными знаками, а быстрый клудж - добавить и добавить запятую строка:

   ... where  ',' + PreviousStageIds + ',' LIKE '%,12150,%'

Вам также может понадобиться обрезать лишние пробелы в строке.

Хранение списка, разделенного запятыми, в реляционной базе данных обычно является НАИЛУЧШЕЙ ПРАКТИКОЙ.

...