sys*_*ult 4 mysql recursive-query
我有一张如下表:
MyTable
--------
A
B
C
Run Code Online (Sandbox Code Playgroud)
A,B,C 是列,MyTable 是表名,我想运行一个 mysql 查询,如:
SELECT MT1.A, MT2.A, MT2.B FROM MyTable MT1, MyTable MT2
WHERE MT1.B<>MT2.B and MT2.B like "MT1.B%" and MT2.status=0;
Run Code Online (Sandbox Code Playgroud)
正如您从上面的查询中看到的,我有一个表,我想找到以另一个行值开头并与条件匹配的列。但是上面的查询显然失败了,因为 mysql 将“MT1.B%”作为字符串,我如何用 Mysql 实现这一点?
您应该能够执行以下操作:
SELECT
MT1.A, MT2.A, MT2.B
FROM
MyTable MT1, MyTable MT2
WHERE
MT1.B <> MT2.B AND
MT2.B LIKE CONCAT(MT1.B, '%') AND
MT2.status = 0
Run Code Online (Sandbox Code Playgroud)