代码之家  ›  专栏  ›  技术社区  ›  Potion

字段列表中的未知列X

  •  1
  • Potion  · 技术社区  · 5 年前

    Unknown column 'rec.ID' in field list

    问题1:

    SELECT rec.`ID` FROM rec; // works fine
    

    // error 
    SELECT 
        rec.`ID`,
        rec.`Status Type`, 
        lender.`ID`,
        lender.`Cost Per`
    FROM 
        ( SELECT rec.`ID`, rec.`Status Type` FROM rec) AS T1
    JOIN (SELECT lender.`ID`, lender.`Cost Per` FROM lender) AS T2
    ON T1.`ID` = T2.`ID`
    WHERE rec.`Lead Type` = "Activated"
    
    2 回复  |  直到 5 年前
        1
  •  1
  •   coffeinjunky    5 年前

    请尝试以下操作:

    SELECT 
        T1.`ID`,
        T1.`Status Type`, 
        T2.`ID` as ID2, -- to keep column names different
        T2.`Cost Per`
    FROM 
        ( SELECT rec.`ID`, rec.`Status Type` FROM rec) AS T1
    JOIN (SELECT lender.`ID`, lender.`Cost Per` FROM lender) AS T2
    ON T1.`ID` = T2.`ID`
    WHERE T1.`Lead Type` = "Activated"
    
        2
  •  0
  •   Gordon Linoff    5 年前

    SELECT r.`ID`, r.`Status Type`, l.`ID`, l.`Cost Per`
    FROM rec r JOIN
         lender l
         ON r.`ID` = l.`ID`
    WHERE r.`Lead Type` = 'Activated';
    

    笔记:

    • 虽然没有什么区别,但有些数据库具体化子查询,这会带来额外的开销。
    • 注意表别名的使用,这样查询更易于编写和读取。
    • 不需要选择 l.ID . 这和 r.ID .