2016-07-26 2 views
0

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

Php:

$sql = "SELECT CONCAT (name , ' ' , surname) AS full FROM person "; 
$query = mysqli_query($con,$sql); 
if($query){ 
    while($row=mysqli_fetch_assoc($query)){ 
     echo "<p>$row[full]</p>"; 
    } 
}else{ 
    echo mysqli_error($con); 
} 

ответ

2

Я думаю, вы могли бы попробовать, как это - с помощью предложения having, а не где

select concat(field1, field2) as 'alias' 
from `table` 
having `alias` like '%word%' 

или, в вашем случае:

SELECT CONCAT (`name` , ' ' , `surname`) AS 'full' FROM `person` 
having `full` like '%word%'; 
+0

Да. как я хочу. Я немного изменился: concat (field1, '', field2) – vulkan

0

Использование подзапросов.

Subquery "SELECT CONCAT (name , ' ' , surname) AS full FROM person "

Complete Query:

SELECT * from (SELECT CONCAT (name , ' ' , surname) AS full FROM person) where 
full like '%a%'; 

Надеется, что это поможет.

+0

I получил ошибку = «Каждая производная таблица должна иметь свой собственный псевдоним» – vulkan

+0

Попробуйте этот SELECT b. * from (SELECT CONCAT (name , '', surname) AS full FROM person) b где b.полный, как '% a%'; – Pirate

0

Вы можете попробовать также

SELECT * 
FROM pages 
WHERE CONCAT_WS('', column1, column2, column3) LIKE '%keyword%' 
+0

PHP 'while', как я писал? – vulkan