0
我试图使用下面的查询(它完美地工作),作为UPDATE语句的子查询,并且需要在该UPDATE语句中引用值CORRECT_DATE。如果我可以在这个查询中成功地选择这个值,将它传递给UPDATE会很容易,但我似乎无法选择下面的相关子查询值,并在不等式中使用它。在主要查询中使用相关子查询的值
SELECT A.NAME, MAX(A.[START])
FROM dbo.TANK A
WHERE A.[CURRENT] = 0 AND A.[END] < (SELECT B.[START] AS CORRECT_DATE
FROM dbo.TANK B
WHERE B.[CURRENT] = 1
AND A.NAME = B.NAME
AND A.TYPE = B.TYPE
AND A.COVER = B.COVER)
我曾尝试以下,但它不承认别名WHERE子句中:
SELECT A.NAME, MAX(A.[START]), (SELECT B.[START] AS CORRECT_DATE
FROM dbo.TANK B
WHERE B.[CURRENT] = 1
AND A.NAME = B.NAME
AND A.TYPE = B.TYPE
AND A.COVER = B.COVER) as subvalue
FROM dbo.TANK A
WHERE A.[CURRENT] = 0 AND A.[END] < subvalue
伟大的解决方案!不仅仅是5分钟内的正确答案,还有一个比我的尝试还要好!谢谢! –