Php 如何在与AS合并的列中使用LIKE进行搜索

Php 如何在与AS合并的列中使用LIKE进行搜索,php,sql,sql-like,Php,Sql,Sql Like,我用AS合并了两列,现在我想用LIKE搜索其中的数据。我该怎么做?以下是我到目前为止所做的尝试 Php: 使用子查询 子查询从person中选择CONCAT name“”,姓氏为full 完整查询: SELECT * from (SELECT CONCAT (name , ' ' , surname) AS full FROM person) where full like '%a%'; 希望能有所帮助。使用子查询 子查询从person中选择CONCAT name“”,姓氏为full 完整

我用AS合并了两列,现在我想用LIKE搜索其中的数据。我该怎么做?以下是我到目前为止所做的尝试

Php:

使用子查询

子查询从person中选择CONCAT name“”,姓氏为full

完整查询:

SELECT * from (SELECT CONCAT (name , ' ' , surname) AS full  FROM person) where 
full like '%a%';
希望能有所帮助。

使用子查询

子查询从person中选择CONCAT name“”,姓氏为full

完整查询:

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%'
你也可以试试

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%';

我想你可以这样尝试——使用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%';

PHP“while”我是怎么写的?PHP“while”我是怎么写的?是的。正是我想要的。我改变了一点:concat field1',field2是的。正是我想要的。我做了一些更改:concat field1',field2我收到一个错误=每个派生表都必须有自己的别名尝试从SELECT concat name中选择b.*,从personb中选择姓氏为full,其中b.full类似于“%a%”;我收到一个错误=每个派生表都必须有自己的别名。请尝试从SELECT CONCAT name“”中选择b.*,从personb中选择姓氏为full,其中b.full类似于“%a%”;