基本上我有两个表:节点和自然。节点有一个自动递增的ID,自然有一个"节点"列,这就是我在这里关注的。节点列包含节点表(自然条目所在的节点)中的ID分隔字符串。
自然表中节点列的示例可能如下所示:
.1.10.597.598.599.600.
每个id前后都有句点,因此我可以搜索节点中的所有图像(例如,WHERE节点LIKE'%.".$_GET['id'].".%')。
话虽如此,我正在尝试从节点表中选择在自然表中具有条目的所有条目。这是我到目前为止得到的,但它返回了一个空盘。
SELECT *
FROM nodes A
INNER JOIN nature B
ON A.id LIKE '%.B.node.%'
如有任何帮助,我们将不胜感激。
使用CONCAT函数
ON A.id LIKE CONCAT('%.',B.node,'.%')
尝试:
SELECT *
FROM nodes A
INNER JOIN nature B
ON B.node LIKE CONCAT('%.',A.id,'.%')
请注意,这是相当昂贵的,因为它阻止了任何索引的使用。
见小提琴。