gpt4 book ai didi

sql - 如何避免 SQL 中的重复子查询 JOIN?

转载 作者:行者123 更新时间:2023-12-05 00:06:59 27 4
gpt4 key购买 nike

在 SQL Server 2008 中:

我有一张 table ,我想做以下几件事:

SELECT T1.stuff, T2.morestuff from
(
SELECT code, date1, date2 from Table
) as T1
INNER JOIN
(
SELECT code, date1, date2 from Table
) as T2

ON T1.code = T2.code and T1.date1 = T2.date2

这两个子查询完全相同。有没有什么办法可以在不重复子查询脚本的情况下做到这一点?

谢谢

卡尔

最佳答案

CTE:

;WITH YourQuery AS
(
SELECT code, date1, date2 from Table
)
SELECT
T1.stuff, T2.morestuff
from YourQuery T1
INNER JOIN YourQuery T2 ON T1.code = T2.code and T1.date1 = T2.date2

供引用

在问题中,代码使用派生表,也称为内联 View 。子查询是返回单个值的 SELECT 查询,它嵌套在 SELECT、INSERT、UPDATE 或 DELETE 语句中,或嵌套在另一个子查询中。可以在任何允许使用表达式的地方使用子查询。见: http://msdn.microsoft.com/en-us/library/aa213252(SQL.80).aspx

关于sql - 如何避免 SQL 中的重复子查询 JOIN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2516002/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com