【问题标题】:SQLite Left join tables after two queries两次查询后的 SQLite 左连接表
【发布时间】:2015-05-20 02:25:51
【问题描述】:

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

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

对于工作查询中的所有项目

【问题讨论】:

  • 请向我们展示您期望得到的输出。

标签: sql sqlite join


【解决方案1】:

您可能需要像这样给子查询起别名:

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 正确执行字段映射。

【讨论】:

  • 工作就像一个魅力。感谢您的清晰结构。帮助我理解未来
猜你喜欢
  • 2023-03-18
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多