Mysql 使用like语句后如何从SQL中获取数据
我正在使用这个查询Mysql 使用like语句后如何从SQL中获取数据,mysql,sql,Mysql,Sql,我正在使用这个查询 SELECT ap.id, ap.text, p.id AS uId, p.points, p.text AS up FROM `phrases` AS ap LEFT JOIN `phrases` AS p ON p.createdBy = 1 WHERE ap.createdBy = 0 AND (ap.text LIKE CONCAT('%', p.text, '%') OR p.tex
SELECT
ap.id, ap.text,
p.id AS uId, p.points, p.text AS up
FROM
`phrases` AS ap
LEFT JOIN
`phrases` AS p ON p.createdBy = 1
WHERE
ap.createdBy = 0
AND (ap.text LIKE CONCAT('%', p.text, '%')
OR p.text LIKE CONCAT('%', ap.text, '%'))
我得到的数据如下:
但是,我还希望ap表中所有不匹配的数据都为null,我想您希望匹配
createdby=1的所有短语以及包含文本的匹配短语。如果是:
SELECT ap.id, ap.text, p.id as uId, p.points,
p.text as up
FROM `phrases` ap LEFT JOIN
`phrases` p
ON p.createdBy = 1 AND
(p.text LIKE concat('%', ap.text,'%') or
p.ap.createdBy = 0
)
WHERE ap.createdBy = 0 ;
我想您需要匹配createdby=1的所有短语和包含文本的匹配短语。如果是:
SELECT ap.id, ap.text, p.id as uId, p.points,
p.text as up
FROM `phrases` ap LEFT JOIN
`phrases` p
ON p.createdBy = 1 AND
(p.text LIKE concat('%', ap.text,'%') or
p.ap.createdBy = 0
)
WHERE ap.createdBy = 0 ;
两个表之间的连接键是什么?您的问题中不清楚,哪一列为空,也不清楚。因此,请清除问题中的内容。请提供示例数据和所需结果。你应该解释你想要实现的逻辑。并提供一个数据库标记。我正在加入同一个表-首先使用createdBy=1,然后使用createdBy=0键。没有一列是空的,但我想检索所有数据。两个表之间的连接键是什么在您的问题中不清楚,哪一列是空的也不清楚,因此请清除问题中的内容。请提供示例数据和所需结果。你应该解释你想要实现的逻辑。并提供一个数据库标记。我正在加入同一个表-首先使用createdBy=1,然后使用createdBy=0键。没有一列为空,但我想检索所有数据。谢谢,这是可行的,但我想显示createdby=1的所有短语,您的解决方案显示createdby=0的所有短语。你能帮忙吗?@AbhijitSood。我修改了答案。谢谢,这是可行的,但我想显示createdby=1的所有短语,您的解决方案显示createdby=0的所有短语。你能帮忙吗?@AbhijitSood。我修改了答案。