Mysql列的行以另一行的值开头
作者:互联网
我有一个如下表:
MyTable
--------
A
B
C
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;
从上面的查询中可以看到,我有一个表,我想找到以另一行值开头并符合条件的列.但是上述查询显然失败了,因为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
标签:recursive-query,mysql 来源: https://codeday.me/bug/20191210/2100437.html