数据库
首页 > 数据库> > Mysql列的行以另一行的值开头

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