Mysql 连接不相等的 table 字段

Mysql concat unequal table field

为什么我不能 Select 一行 table 具有不相等的 concat 构造?我给你举个例子。

表 1

| id | 面积 |

| 1 | items_labeling_small |

| 2 | items_labeling_big |

表 2

| id | 面积 | 卡特 |

| 1 |小 |标签 |

| 2 |大 |标签 |

SELECT Table1.area FROM Table1, Table2 WHERE Table1.area != CONCAT('items_', Table2.kat, '_', Table2.area)

不必显示任何结果,因为两者都与 concat 结构相匹配。但它们显示在结果中。我不知道为什么..以及如何更改它有效的查询。

显示它们是因为每一行都不匹配,所以你有不匹配的行

    SELECT Table1.area 
    FROM Table1
    INNER JOIN Table2 ON  Table1.area != CONCAT('items_', Table2.kat, '_', Table2.area)

你可能不想在

    SELECT Table1.area 
    FROM Table1 
    where  Table1.area NOT IN (

        SELECT CONCAT('items_', Table2.kat, '_', Table2.area)

        FROM Table2

    )

建议您不要使用基于 where 子句的(旧的)隐式连接语法...使用显式连接语法...