如何在子查询中引用计算字段?

斯特西

我有以下无效的查询,但显示了我打算做什么:

SELECT
    REPLACE(j.wo_id, 'PREFIX.', '') AS WOID,
    j.act_finish_time_local,
    STUFF ((SELECT ', '+item_id FROM bom_item WHERE parent_item_id = WOID AND bom_pos > 0 FOR XML PATH('')), 1, 1, '') AS Families
FROM job AS j
INNER JOIN job_event je ON je.wo_id = j.wo_id AND je.oper_id = j.oper_id 
WHERE j.oper_id = 'Sawing' AND j.wo_id LIKE 'PREFIX.%' AND j.act_finish_time_local IS NOT NULL 
GROUP BY j.wo_id, j.act_finish_time_local 
ORDER BY j.act_finish_time_local 

这是示例数据表:

表:工作

| wo_id       | act_finish_time_local | oper_id |
|-------------|-----------------------|---------|
| PREFIX.0001 | 2014/01/01            | Sawing  |
| PREFIX.0002 | 2014/01/01            | Sawing  |

表格:job_event

| wo_id       | oper_id |
|-------------|---------|
| PREFIX.0001 | Sawing  |
| PREFIX.0002 | Sawing  |

表格:bom_item

| parent_item_id | item_id | bom_pos |
|----------------|---------|---------|
| 0001           | abc     | 1       |
| 0001           | def     | 2       |
| 0002           | qrs     | 1       |
| 0002           | tuv     | 2       |

预期结果

| WOID | act_finish_time_local | Families |
|------|-----------------------|----------|
| 0001 | 2014/01/01            | abc, def |
| 0002 | 2014/01/01            | qrs, tuv |

现在,查询无法编译,因为SQLServer抱怨WOID字段不可用。

有没有办法来解决这个问题?

Xeraphim

您无法在子查询中引用计算字段或别名...

您必须在子查询中再次进行计算或在CTE中对其进行定义,然后在CTE之外重新使用它

关于此主题的一篇有趣的文章可能对您很有趣

http://joecelkothesqlapprentice.blogspot.ch/2006/06/reference-alias-field-name.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在子查询中引用计算字段?

来自分类Dev

MySQL,如何在SELECT查询中引用子查询字段

来自分类Dev

在同一查询中重用计算字段

来自分类Dev

更新#1-如何在SQL Server中引用计算列的先前值?

来自分类Dev

如何改进更新子查询中引用的表字段

来自分类Dev

如何在子-子查询中引用表

来自分类Dev

如何在一次查询中使用计算更新数据库中的多行

来自分类Dev

如何在SET子查询中引用外部表?

来自分类Dev

如何在Windows中禁用计算器?

来自分类Dev

MySQL,如何在组中重用计算数据

来自分类Dev

在SQL中引用计算值

来自分类Dev

如何在SQL子查询中从父查询中引用表列?

来自分类Dev

在 Laravel Eloquent 中,如何在子查询中引用主查询

来自分类Dev

如何在AWS Athena中的查询中创建对已解析字段的引用?

来自分类Dev

如何在子查询的WHERE中使用主查询中的字段

来自分类Dev

如何在MySQL的WHERE子句中使用计算字段?

来自分类Dev

如何在Access VB中引用自动编号字段并能够将其用于计算

来自分类Dev

如何计算mysql中的子查询

来自分类Dev

如何在子查询中引用 JToken 集合中的所有元素

来自分类Dev

如何在SQL的同一查询中引用先前计算的输出?

来自分类Dev

如何在 Thymeleaf 中引用包含“_”的字段

来自分类Dev

如何在 MongoDB 中查询计算 2 个相等字段的数量?

来自分类Dev

当保持数组的引用计数增加时,如何增加子数组的引用计数?

来自分类Dev

当保持数组的引用计数增加时,如何增加子数组的引用计数?

来自分类Dev

如何使用 group by 引用计算列 - Oracle

来自分类Dev

如何在SQL语句的Select子句中引用子查询

来自分类Dev

如何在Firestore中查询嵌套字段?

来自分类Dev

如何在mongodb中查询数组字段?

来自分类Dev

使用计算的字段校正枢轴中的总计

Related 相关文章

  1. 1

    如何在子查询中引用计算字段?

  2. 2

    MySQL,如何在SELECT查询中引用子查询字段

  3. 3

    在同一查询中重用计算字段

  4. 4

    更新#1-如何在SQL Server中引用计算列的先前值?

  5. 5

    如何改进更新子查询中引用的表字段

  6. 6

    如何在子-子查询中引用表

  7. 7

    如何在一次查询中使用计算更新数据库中的多行

  8. 8

    如何在SET子查询中引用外部表?

  9. 9

    如何在Windows中禁用计算器?

  10. 10

    MySQL,如何在组中重用计算数据

  11. 11

    在SQL中引用计算值

  12. 12

    如何在SQL子查询中从父查询中引用表列?

  13. 13

    在 Laravel Eloquent 中,如何在子查询中引用主查询

  14. 14

    如何在AWS Athena中的查询中创建对已解析字段的引用?

  15. 15

    如何在子查询的WHERE中使用主查询中的字段

  16. 16

    如何在MySQL的WHERE子句中使用计算字段?

  17. 17

    如何在Access VB中引用自动编号字段并能够将其用于计算

  18. 18

    如何计算mysql中的子查询

  19. 19

    如何在子查询中引用 JToken 集合中的所有元素

  20. 20

    如何在SQL的同一查询中引用先前计算的输出?

  21. 21

    如何在 Thymeleaf 中引用包含“_”的字段

  22. 22

    如何在 MongoDB 中查询计算 2 个相等字段的数量?

  23. 23

    当保持数组的引用计数增加时,如何增加子数组的引用计数?

  24. 24

    当保持数组的引用计数增加时,如何增加子数组的引用计数?

  25. 25

    如何使用 group by 引用计算列 - Oracle

  26. 26

    如何在SQL语句的Select子句中引用子查询

  27. 27

    如何在Firestore中查询嵌套字段?

  28. 28

    如何在mongodb中查询数组字段?

  29. 29

    使用计算的字段校正枢轴中的总计

热门标签

归档