如何在mysql中编写这个自连接查询

Awa*_*rni 1 mysql join inner-join self-join

你好我有这样的表结构

products_id | model_num | master_model_num
   1        |  cth001   |    0 
   2        |  cth002   |    0
   3        |  cth003   |    cth001
   4        |  cth004   |    cth001
   5        |  cth005   |    0
   6        |  cth006   |    cth002
Run Code Online (Sandbox Code Playgroud)

我的问题

我将提供products_id表格,它将获得所有产品ID谁将master_model_num等于给model_num定的products_id

我尝试过以下查询,但它不会生成我想要的结果

SELECT p.products_id 
FROM products p,products pp 
WHERE p.products_id=pp.products_id 
AND p.products_model=pp.products_master_model 
AND p.products_id='1' 
Run Code Online (Sandbox Code Playgroud)

Joe*_*lli 6

SELECT pp.products_id
    FROM products p
        INNER JOIN products pp
            ON p.model_num = pp.master_model_num
    WHERE p.products_id = '1'
Run Code Online (Sandbox Code Playgroud)

  • @PlexQ:你能提供一些这个测试的证据(博客文章,错误报告等)吗?我从来没有听说过这样的事情. (5认同)