SQLite在两次查询后左连接表

时间:2015-05-20 02:25:52

标签: sql sqlite join

我尝试在两个表之间执行连接,如下所示。我不知道该寻找什么以及要解决什么问题。关于我失踪的任何想法?

SELECT * FROM
(SELECT PART_NUMBER, PART_DESCRIPTION, AVG(JOB_QUANTITY_SCHEDULED) FROM JOBS GROUP BY PART_NUMBER)
    left join
(SELECT ITEM, ITEM_COST,  COSTING_LOT_SIZE, FIXED_DAYS_SUPPLY FROM ITEM_ATTRIBUTE)
    ON JOBS.PART_NUMBER == ITEM_ATTRIBUTE.ITEM

收到错误

  

没有这样的专栏:JOBS.PART_NUMBER:

希望获得这些列的输出

  

PART_NUMBER,PART_DESCRIPTION,AVG(JOB_QUANTITY_SCHEDULED,ITEM,   ITEM_COST,COSTING_LOT_SIZE,FIXED_DAYS_SUPPLY

用于“作业查询”中的所有项目

1 个答案:

答案 0 :(得分:2)

您可能需要为子查询设置别名:

select * from
(
  SELECT part_number, part_description, AVG(job_quantity_scheduled) 
  FROM JOBS 
  GROUP BY PART_NUMBER
) as itemjobs

left join

(
  SELECT ITEM, ITEM_COST, COSTING_LOT_SIZE, FIXED_DAYS_SUPPLY 
  FROM ITEM_ATTRIBUTE
) as itemattr

on itemjobs.part_number = itemattr.item

没有别名,SQLite无法找出在哪里查找JOBS表。为每个子查询提供别名将有助于SQLite正确执行字段映射。