Допустим, у меня есть таблица человек с различными столбцами в базе данных MySQL
столбцы:
имя, возраст, описание, друзья
Я пытаюсь найти способ поиска определенной строки в имени, описании и друзьях столбцов с помощью jdbc в скрипте приложения Google.
Результат должен отправить мне обратно в ответ массив, содержащий все строки, соответствующие моему запросу
например, вот база данных:
------------------------------------------
| name | age | description | friends |
------------------------------------------
| John | 20 | "I like Joe" | Joe Jack |
| Joe | 32 | "I like me" | - |
| Jack | 23 | "I like nothing" | - |
------------------------------------------
если мой запрос - Joe
тогда строка 1 и строка 2 должны быть возвращены, поскольку Joe
появляется два раза в строке 1 и 1 раз в строке 2.
Здесь на данный момент я использую для поиска строки по имени
function getLine(name)
{
var ret = {};
var conn = Jdbc.getConnection(dbUrl, user, userPwd);
var stmt = conn.createStatement();
var res = stmt.executeQuery("SELECT * FROM item WHERE name='" + name + "'");
var numCol = res.getMetaData().getColumnCount();
var i = 0;
while (res.next())
{
while (i < numCol)
{
ret[i]= res.getString(i + 1);
i++;
}
}
return (ret);
}
Как и OR - это правильное ключевое слово для вашего запроса.
select *
from item
where name = 'Joe'
or description like concat('%', 'Joe', '%')
or friends like concat('%', 'Joe', '%');