Поле с разделителями-запятыми в базе данных

У меня есть база данных с полем, разделенным запятой.

В основном я хочу, чтобы можно было легко искать по полям.

ID Value 1 1,2,3 2 2,3,4 3 2,3,1 4 1 

Например, как я могу запросить базу данных и получить идентификатор поля базы данных и значение для любых значений, которые имеют «1» против значения. Это должно возвращать идентификаторы 1,3 и 4.

Если вы не можете исправить свой проект (см. Сохранение значений множественного выбора в базе данных )

 ... WHERE ',' + field + ',' LIKE '%,1,%' 

Изменить: также см. Сохранение массивов в базе данных для другой критики этого проекта

 SELECT ID FROM Table WHERE ',' + Value + ',' LIKE '%,@value,%' 

Однако я настоятельно рекомендую изменить дизайн базы данных. Нет причин иметь список с разделителями в реляционной базе данных. Каждое значение должно иметь свое собственное место в модели данных. (Это особенно верно, если ваши значения в этом случае должны быть числами, потому что в этом дизайне они являются символами.)

Изменить: Исправлен запрос, @gbn заметил то, что я не сделал …

выберите id из таблицы, где charindex (1, значение)> 0

  • Azure массовый импорт csv-файла в Azure SQL Server из базы данных Azure
  • Как записать двоичные данные в файл csv?
  • Массовая вставка из файла CSV - пропуски дубликатов
  • SQL Server BCP: как разместить кавычки во всех полях?
  • Как изменить мой запрос T-SQL для перезаписи файла csv, а не добавлять к нему данные?
  • sql server Массовая вставка csv с данными, имеющими запятую
  • Технические рекомендации Microsoft для BULK INSERT могут иметь некоторые пробелы ... не могут заставить их работать
  • SSIS 2012: конечные запятые обрезки с выхода CSV
  • csv import sqlserver без дубликатов с использованием c #
  • SQL Server Bulk Insert - Как определить недостающие поля?
  • Вставьте CSV-файл в Azure SQL из Azure Blob
  • Interesting Posts
    Давайте будем гением компьютера.