PHP MySQL内部联接问题


PHP MySQL inner join issues

基本上我有两个表:节点和自然。节点有一个自动递增的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,'.%')

请注意,这是相当昂贵的,因为它阻止了任何索引的使用。

见小提琴。