ошибка Неизвестный столбец в matlab 'where clause' с использованием массива строк - PullRequest
3 голосов
/ 16 октября 2010

Я хочу прочитать столбец из таблицы базы данных и для каждой строки, которую я прочитал, прочитать несколько строк из другой таблицы. элементы, которые я читаю из обеих таблиц - это строки, мой код:

query1 = 'select col1 from MyDb.table1 order by col1'; 
[x1]= mysql(query1);
     for i=1:size(x1)
         my=char(x1(i,1));    
         query2=sprintf('%s%s%s%s',['select col1 from MyDb.table2 where col1=', my, ' or col2=', my]);
         [x2]=mysql(query2); 
     end

когда я запускаю код, я получаю эту ошибку: Неизвестный столбец 'khlkuu' в 'where clause', khlkuu - строка в первой таблице. Я знаю, что эта ошибка из-за не окружения хлкуу цитатой, но я не знаю, как это сделать. Есть идеи?

1 Ответ

4 голосов
/ 16 октября 2010

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

my = 'something';
query2= ['select col1 from MyDb.table2 where col1=''', my, ''' or col2=''', my,'''']

query2 =
select col1 from MyDb.table2 where col1='something' or col2='something'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...