如何在与 AS 合并的列中使用 LIKE 进行搜索
How to search with LIKE in columns merged with AS
我用 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);
}
使用子查询。
子查询"SELECT CONCAT (name , ' ' , surname) AS full FROM person "
完成查询:
SELECT * from (SELECT CONCAT (name , ' ' , surname) AS full FROM person) where
full like '%a%';
希望对您有所帮助。
你也可以试试
SELECT *
FROM pages
WHERE CONCAT_WS('', column1, column2, column3) LIKE '%keyword%'
我认为您可以这样尝试 - 使用 having
子句而不是 where
select concat( field1, field2 ) as 'alias'
from `table`
having `alias` like '%word%'
或者,在您的情况下:
SELECT CONCAT (`name` , ' ' , `surname`) AS 'full' FROM `person`
having `full` like '%word%';
我用 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);
}
使用子查询。
子查询"SELECT CONCAT (name , ' ' , surname) AS full FROM person "
完成查询:
SELECT * from (SELECT CONCAT (name , ' ' , surname) AS full FROM person) where
full like '%a%';
希望对您有所帮助。
你也可以试试
SELECT *
FROM pages
WHERE CONCAT_WS('', column1, column2, column3) LIKE '%keyword%'
我认为您可以这样尝试 - 使用 having
子句而不是 where
select concat( field1, field2 ) as 'alias'
from `table`
having `alias` like '%word%'
或者,在您的情况下:
SELECT CONCAT (`name` , ' ' , `surname`) AS 'full' FROM `person`
having `full` like '%word%';