首页 > 解决方案 > 取消嵌套嵌套的 SQL 查询

问题描述

我是构建 sql 查询的新手,可以使用一些帮助。我构建了一个可以作为独立查询正常工作的查询。问题是我需要在使用 ExecuteScalar 函数的报告中使用它,并且不允许嵌套查询,我尝试使用连接重建,但我似乎迷路了。

谁能帮我“取消嵌套”这个查询?

SELECT
StockType2Job.Loaded
FROM
  StockType2Job
WHERE
  StockType2Job.IdStockType = 
  (SELECT StockType.IdStockType
  FROM StockType
  WHERE StockType.Number = '1001716.00')
AND
  StockType2Job.IdStockType2JobGroup =
  (SELECT StockType2JobGroup.IdStockType2JobGroup
  FROM StockType2JobGroup
  WHERE StockType2JobGroup.IdJob =
          (SELECT Job.IdJob
          FROM Job
          WHERE Job.Number = '18-0085.02'
          AND StockType2JobGroup.Caption = 'Breakout Room 1'))

任何帮助表示赞赏。谢谢

标签: sqlsql-server

解决方案


此查询应该有效(在 Oracle DB 上):

SELECT
   StockType2Job.Loaded
FROM
   (((StockType2Job a JOIN StockType b ON a.IdStockType=b.IdStockType) 
      JOIN StockType2JobGroup c ON a.IdStockType2JobGroup=c.IdStockType2JobGroup)
        JOIN Job d ON c.IdJob=d.IdJob)
WHERE
   b.Number = '1001716.00' AND 
   d.Number = '18-0085.02' AND
   c.Caption = 'Breakout Room 1'

推荐阅读