2014-02-18 2 views
0

я таблицу, имеющую столбцы какКак получить указанные данные из столбца таблицы, используя, где положение

  Prefix      CModel 

      g      ;#WR_1;#WR_2;#WR_3;#WR_4;# 

      v     ;#WR_3;#WR_4;# 

     j      WR_2 

     m      WR_1 

     d    ;#WR_3;#WR_4;# 

      f9      WR_3 

Я хочу, чтобы извлечь данные из всех столбцов WHERE CModel = WR_3 из CModel.

SELECT Prefix,CModel From table1 WHERE CModel = WR_3; 

Он возвращает только одну строку.

   Prefix  CMODEL 

       f9  WR_3 

я хочу, чтобы это было возвращение 4 ряда, так как WR_3 существует в 4 ряде (содержит двоеточие delimted как; # WR_3; # WR_4; #). Как определить, что в WHERE условие?

ответ

1

Учитывая вашу структуру таблицы, я хотел бы использовать что-то вроде этого:

SELECT Prefix, CModel 
FROM table1 
WHERE 
    [CModel] IS NOT NULL 
    AND (";" & Replace([CModel], "#", "") & ";") Like "*;WR_3;*"; 
  • Replace([CModel], "#", "") удалит все # символы из модели
  • ";" & Replace(...) & ";" добавит один; в начале и в одном; в конце строк
  • Like "*;WR_3;*" будет соответствовать всем строкам, содержащих ;WR_3; поэтому он будет также соответствовать строкам, которые содержат только WR_3, но он не будет соответствовать строкам, содержащих WR_30
+0

Спасибо за быстрый ответ .Это говорит Тип данных Несоответствие в выражении критериев. Хотя поле CModel является текстовым полем. – vuyy1182

+0

@ swa1234 какой тип cmodel? – fthiella

+0

Datatype - это текст. – vuyy1182

Смежные вопросы