выберите с помощью аналогичных данных - PullRequest
0 голосов
/ 10 июля 2009

У меня есть таблица в базе данных, в которой есть несколько полей, одно из которых 'action'

действие имеет такие данные, как bse-аналог, bse-действие ..... nse-аналог, nse-действие ... и т.д.

Теперь я хочу получить данные, которые имеют 'bse' в поле действия.

Как я могу сделать это в MySQL ?????

Еще одна вещь, которую я хочу скопировать эти данные в другую таблицу. Как я могу сделать это простым запросом ?????

Ответы [ 3 ]

1 голос
/ 10 июля 2009

Использование сопоставление с образцом :

mysql> SELECT action FROM mytable WHERE action LIKE 'bse%';
+-------------+
| action      |
+-------------+
| bse-action  |
| bse-similar |
+-------------+

Сопоставление с шаблоном SQL позволяет использовать «_» Соответствует любому отдельному символу и «%», Чтобы соответствовать произвольному числу символы (включая ноль символы).

1 голос
/ 10 июля 2009
SELECT * FROM table WHERE action LIKE "bse-%"

или, в PHP:

mysql_connect($host, $user, $pass);
mysql_select_db($database);
$res = mysql_query("SELECT * FROM table WHERE action LIKE 'bse-%'");
while (($row = mysql_fetch_array($res)) != null)
{
    echo $row[0] . "<br />";
}

просто заполните $ host, $ user, $ pass и $ database своей информацией и готовностью к работе.

Вы действительно должны посмотреть на эти уроки:

http://w3schools.com/php/php_mysql_intro.asp

:)

EDIT

INSERT INTO table2 (column1, columnx, action) SELECT column1, columnx, action FROM table1 WHERE action LIKE "bse-%"

должно быть то, что вы ищете

0 голосов
/ 12 июля 2009

INSERT INTO table2 (field1) Действие SELECT FROM table1, где действие LIKE 'bse%';

Это должно вставить в таблицу 2, столбец "field1" значение "action" из таблицы1. Если искомое значение может быть в верхнем или нижнем регистре, попробуйте его таким образом, вместо этого, предполагая, что вы хотите сопоставить действия как в верхнем, так и в нижнем регистре с «bse».

INSERT INTO table2 (field1) ВЫБЕРИТЕ действие ИЗ таблицы1 ГДЕ НИЖЕ (действие) НРАВИТСЯ 'bse%';

...