我希望能够在我的选择中重用子查询,而不必再次全部输入。有没有办法做到这一点?
例如,选择中的第一项是返回 NAME 的子查询。
在第二个选择项中,我想重用“NAME”子查询,而不必再次输入。
我查看了 CTE,但看不到您如何为 where 子句传递参数。在此示例中,我需要从子查询中的主查询访问 T1.ID,但我没有看到使用 CTE 的方法。
SELECT
(SELECT NAME FROM TABLE2 T2 WHERE T2.ID=T1.ID) AS NAME,
(SELECT STATE FROM TABLE3 T3 WHERE T3.NAME=(SELECT NAME FROM TABLE2 T2 WHERE T2.ID=T1.ID)) AS STATE
FROM TABLE1 T1