2016-07-26 27 views
0

我將兩列與AS合併,現在我想用LIKE在其中搜索數據。我怎樣才能做到這一點?這是我到目前爲止所嘗試的。如何在與AS合併的列中使用LIKE進行搜索

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

使用子查詢。

子查詢"SELECT CONCAT (name , ' ' , surname) AS full FROM person "

完整的查詢:

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

希望這將有助於。

+0

我收到錯誤=「每個派生表都必須有自己的別名」 – vulkan

+0

試試這個SELECT b。* from(SELECT CONCAT(name ,'',姓氏)AS完全FROM人)b其中 b.full like'%a%'; – Pirate

0

你也可以嘗試

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

PHP'while'我是怎麼寫的? – vulkan

相關問題