Я хочу выбрать все строки из моей таблицы, где значение одного столбца начинается со значения другого столбца.выберите, где одна часть столбца другого
Table
column_a column_b
abc abcdef
pqr rstrv
xyz xyzabc
uvw abcdef
Я хочу, чтобы получить
pqr rstrv
uvw abcdef
Я использую запрос
SELECT * FROM table_name WHERE column_b NOT LIKE column_a + '%'
Я получаю ошибку
1064 - У вас ошибка в ваш синтаксис SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с «+„%“LIMIT 0, 30» в строке 1
Я попытался решения этих вопросов Compare Columns Where One is Similar to Part of Another
Oracle: LIKE where any part of one string matches amy part of another string
SQL search column where one item in column is substring of another item
SQL search column where one item in column is substring of another item Update. Но все же результат ошибки или неправильных результатов
Моя версия mysql - это серверная версия: 5.5.44-0ubuntu0.14.04.1 (Ubuntu). Я использую phpMyAdmin для выполнения запросов.
Зачем вам эти две строки, а не 'abc' +' xyz'? Ваш запрос предполагает, что вы хотите иметь противоположное, все строки, где второй столбец не начинается с первого столбца. –
@TimSchmelter, потому что строки с значениями column_a abc, xyz, column_b начинаются с того же значения, то есть значение column_a –