如何从24万行Product表中查询满足idproduct关联条件的数据
Product表查询语句实现
核心逻辑说明
idproducttype为1的记录idproductcomponent固定为0,仅当该类记录的idproduct值为0时,才满足idproduct = idproductcomponent的匹配条件idproducttype为2、3的记录直接匹配idproduct与idproductcomponent相等的条件即可- 24万行数据量的场景下,建议提前为
idproduct、idproductcomponent字段建立索引,大幅降低查询耗时
单表查询语句(直接过滤匹配记录)
如果你仅需要输出匹配记录的对应字段,指定别名即可:
SELECT 对应第一列的业务字段名 AS `A12345678`, 对应第二列的业务字段名 AS `35655455952625`, 对应第三列的业务字段名 AS `9638520963258960` FROM Product WHERE idproduct = idproductcomponent;
自连接查询语句(关联对应type=1的主产品记录)
如果你需要同时拿到type=2/3记录对应的主产品信息,使用自连接实现:
SELECT t1.idproduct AS `A12345678`, t2.idproduct AS `35655455952625`, t1.idproducttype AS `9638520963258960` FROM Product t1 INNER JOIN Product t2 ON t1.idproductcomponent = t2.idproduct WHERE t1.idproduct = t1.idproductcomponent AND t2.idproducttype = 1;
如果三个输出列对应其他业务字段,直接替换SELECT子句中的字段即可。
内容的提问来源于stack exchange,提问作者site
相关产品推荐
相关产品推荐

