我有一张这样的桌子:

--------------------------------------------
|               category table             |
--------------------------------------------
id   |  name |
--------------------------------------------
1    |  book    |   --->1 digit is a category
11   |  aa      |   --->2 digit is a sub category
2    |  software|
21   |  ba      |
22   |  bb      |
23   |  bc      |

我想要这样的输出:
---------------------------------
sub_id  |name_sub |name_category
---------------------------------
11      |aa       |book
21      |ba       |software
22      |bb       |software
23      |bc       |software

选择所有子ID(2位)、子ID名称和类别名称(左起1位)

最佳答案

正如注释中已经提到的,这在我看来毫无意义,原因很明显,但是如果您的类别将保持两位数的id,而父项始终只有一位数,那么下面的查询将使用简单的数学除数操作。

select c1.id as sub_id,c1.name as name_sub ,c2.name as name_category
from category c1
inner join category c2
on cast((c1.id / 10) as UNSIGNED) = c2.id

演示:https://www.db-fiddle.com/f/qmbYDxpDLvnzUDZ9AU4kTH/0

关于php - 如何进行条件查询选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55557124/

10-11 03:21
查看更多