【发布时间】:2020-09-10 17:08:01
【问题描述】:
如果我单独运行每个查询,我会得到结果,但是,当我尝试执行嵌套查询时,我会继续遇到语法错误。
消息 102,第 15 级,状态 1,第 10 行
')' 附近的语法不正确。
这是我正在尝试运行的查询的副本。
Select
P.Part_Type, P.Number, P.mold,
dbo.tbl_Msmt_Data.Result as Val1,
dbo.tbl_Msmt_Data.Result as Val2,
((Val1 - Val2) / 60) As DIFF
From
(Select
P.Part_Type, P.Number, P.mold, dbo.tbl_Msmt_Data.Result as Val1
from
dbo.tbl_Parts P
inner join
dbo.tbl_Msmt_Data on P.Parts_ID = dbo.tbl_Msmt_Data.Part
where
(P.Part_Type = 'Shell PS')
and (dbo.tbl_Msmt_Data.Msmt_Spec = 7327)
union all
select
P.Part_Type, P.Number, P.mold, dbo.tbl_Msmt_Data.Result as Val2
from
dbo.tbl_Parts P
inner join
dbo.tbl_Msmt_Data on P.Parts_ID = dbo.tbl_Msmt_Data.Part
where
(P.Part_Type = 'Shell PS')
and (dbo.tbl_Msmt_Data.Msmt_Spec = 7326)
)
我已尝试删除零件表的别名。我尝试在第二个查询中只选择 Val2。在这一点上,我不确定我还能做什么。
这是 Val1 的结果示例
这是来自 tbl_parts 和 tbl_msmt_data 的数据样本
【问题讨论】:
-
样本数据和期望的结果真的很有帮助。编写此查询可能有更简单的方法。 . .如果很清楚你想做什么。
-
你需要给你的派生表起别名
FROM ( SELECT... ) AS MyTable
标签: sql sql-server database tsql