首页 > 解决方案 > 在 javascript 中不断出现此错误,错误:列引用“id”不明确

问题描述

在这一行SELECT po.*, du."displayName", du."email" FROM partner_orders as po, ds_user as du WHERE id = ${program.id}中,我不断收到错误列引用“id”是模糊的,我该如何解决?

  async getAllParenFinanceOrders() {
    const programOrders = await pool.query(

      `SELECT po.*, du."displayName", du."email"
      FROM partner_orders AS po 
      LEFT JOIN ds_user AS du ON du.id = po."dsUserId" `


    );
    
    console.log("programOrders...", programOrders)

    const partnerPrograms = await Promise.all(
      programOrders.rows.map(async program => {
        const query = await pool.query(
         `SELECT po.*, du."displayName", du."email" FROM partner_orders as po, ds_user as du WHERE id = ${program.id}`
        );
        console.log('query.rows[0]...', query.rows[0])
        return query.rows[0];
      })
    );

    return {
      programs: partnerPrograms
      
    };
  }

标签: javascriptmysqlsqlreactjs

解决方案


不确定您在此处需要哪个表 id,但您需要在它前面加上一个表 id 以确保:

SELECT po.*, du."displayName", du."email" FROM partner_orders as po, ds_user as du WHERE id = ${program.id}`
        );

需要重写为

SELECT po.*, du."displayName", du."email" FROM partner_orders as po, ds_user as du WHERE po.id = ${program.id}`
        );

或者

SELECT po.*, du."displayName", du."email" FROM partner_orders as po, ds_user as du WHERE du.id = ${program.id}`
        );

使错误消失。


推荐阅读