【发布时间】:2023-03-17 23:16:02
【问题描述】:
我有一个应该首先执行的简化子查询:
(SELECT app.recordId, left(userid,1) userid, count(*)FROM
app group by userid,recordId) y
根据此子查询的结果,如果userid='A' 我想与tableA 进行INNER JOIN,If userid='B',我想与tableB 进行INNER JOIN。
我还希望显示两个内部连接的结果。有没有办法让我可以在不重新执行子查询的情况下做到这一点以最小化执行时间?
【问题讨论】:
-
子查询/派生表中的GROUP BY子句不正确。应该是
group by left(userid,1),recordId。另外请澄清“我也希望出现两个内部连接的结果”是什么意思。 -
@PaxBin 试试
FROM table t Left join TableA on t.userid ='A' Left join TableB on t.userid = 'B' -
请提供您的实际表结构、示例数据和预期输出。 stackoverflow.com/help/how-to-ask
-
@TT。 . . .一些数据库支持这种语法,尽管 OP 应该通过正确标记问题来清楚地了解正在使用的数据库。
-
@GordonLinoff 哦,好点子。我总是假设它是 TSQL ......呵呵 =)
标签: sql inner-join multiple-tables